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语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.
# 批量读取文件夹内电子券文件 file_names<- list.files("D:\\工作\\190304\\电子券") path <- c("D:\\工作\\190304\\电子券\\") for (i in 1:length(file_names)) { name<-gsub(".csv","",file_names[i]) assign(name, read.csv(paste0(path,file_names[1]), header = TRUE, stringsAsFactors = FALSE)) }bd_mob0 <- data.frame() bd_mob1 <- data.frame() for (i in 1:length(file_names)){ excel_path <- paste0(path1,file_names[i]) sheet_name <- excel_sheets(excel_path)[6] bd_mob0 <- cbind(read_excel(excel_path,sheet = sheet_name, skip =3), 账期 = substr(file_names[i],18,25)) # 加入账期 bd_mob1 <- rbind(bd_mob1, bd_mob0) }