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] # 多列删除
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)