R语言-批量读取数据文件以及提取字符串中的数字
(2018-06-27 09:47:32)
标签:
数据分析师数据分析师培训数据科学家 |
#第一部分
#先将当前文件夹下的所有以csv结尾的文件名读进来
filelist <- list.files(pattern=".*.csv")
#文件个数
m<-length(filelist)
#按照文件名逐个读入数据,得到数据列表
datalist <- lapply(filelist, function(x)
read.csv(x,header=F,stringsAsFactors=F))
#第二部分
library(stringr)#没装的请先安装
cha1<-c("a1","b23","c4","d56","e","f4")#这是6个字符串,每个字符串里面都包含数字,考虑如何把数字提取出来
col1<-str_extract_all(cha1,"\\d")#得到字符串列表,每个元素对应每个字符串的数字,但是不是你想象的那样
#具体形式是这样的:如23,得到的是"2" "3",所以该怎样把它变成我们想要的数字23是个问题,解决方法如下:
col11<-col11[!duplicated(col11)]#有的数字在处理之后,即将字母去掉之后会有所重复,这步是向量去重处理(不需要去重的请忽略哈)
#补充两个个函数:
#1.删除字符串中的特定字符
gsub(a,b,c):将字符串c中的a字符用b字符进行替换,例如:
gsub(" ","","Lin hai")#这样可以删除字符串中的空格
#2.读取excel数据时指定行和列进行读取
library(data.table)
data1 <- fread("数据.csv", skip=1, nrows=100,
select=c(1:50),data.table=F,header=F) #读取前五十列,前一百行
#其中skip是起始行,nrows是终止行,select是所要读取的列号(也可以写成列名,如select=c("X1",
"X2"),表示读取列名为X1,X2的变量)