【R语言】--- 各类数据的导入

【R语言】--- 各类数据的导入,第1张

通常情况下,我们会在excel中对数据进行预处理,然后将处理好的数据导入R中进行分析、作图。但随着数据源和数据格式的多样化,将多种数据源和数据格式导入R中进行分析、作图显得尤为必要,因为这对于数据分析、作图是最基础的。

R可导入键盘(利用键盘输入)、文本文件、excel、access、spss、sas等各类数据格式。

利用R中的edit()函数手动输入数据的文本编辑器:

(1)创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致;

(2)针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。

函数edit()事实上是在对象的一个副本上进行 *** 作的。若不将其赋值到一个目标,则所有修改将会全部丢失!

用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。

参数sep允许你导入那些使用逗号以外的符号来分隔行内数据的文件。你可以使用sep="\t"读取以制表符分隔的文件。此参数的默认值为sep="",即表示分隔符可为一个或多个空格、制表符、换行符或回车符。

我习惯用readxl包的read_excel()函数进行导入:

SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc包中的spss.get()函数。

use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子。

R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd()和Hmisc包中的sas.get()。这里我们使用sas7bdat包的read.sas7bdat()函数进行导入sas数据。

Robert I. Kabacoff (著). R语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.

1.对于简单文件,可以简单读取,ex1 <- read.table("ex1.txt")

2.对于复杂文件,ex1 <-read.table("文件名如ex1.txt",sep="\t",header=T,row.names = 1,comment.char="!",sep="\t")

read.table默认分隔符为\t

sep="\t"目的为识别行,对同一表格运行有无此命令的两种结果对比显而易见

header=T目的为把第一行设置为表头

比较复杂的文档需要跳过有些部分的,根据需要掉过部分的特点,如此下图文档不需要的部分都有感叹号, commeat.char="!"意思为跳过!那一行,去掉我们不需要的那部分, 即读出了表达矩阵

设置第一列为列名的参数是row.names = 1

read.CSV(("文件名",sep=",")#因为CSV默认分隔符是逗号

save(b,file="b_input.Rdata)#把读出来的文件b存为R语言专用数据文件,以后就可以直接load(file="b_input.Rdata)打开

library(readxl)#加载包,无法加载就安装

a<-read_excel("123.xlsx")#注意要把数据文件放在你打开的R-project目录下,不然读取不到

DT = data.table(x=rep(c("a","b","c"),each=3),

y=c(1,3,6), v=1:9)

DT[, a := 'k'] # 整列添加 ‘k’

DT[, c := 8] # 整列添加数字8

DT[,d:=9L] # 整列添加长整型9

DT[, e := d + 2]

DT[2,d:=10L] # 精确修改2行,d列数字为10

DT[, e := d + 2] # 数据中已经包含e列则是对这列数据的修改

DT[, c('f', 'g') := list( d + 1, c)]

DT[, ':=' ( f = d + 1, g = c)]# 同上

DT[,c:=NULL] # 单列删除

DT[, c('d', 'e', 'f', 'g'):=NULL] # 多列删除


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11727583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存