繁体   English   中英

R导入多个csv文件

[英]R import multiple csv files

我想在R中导入多个TSV文件(是: T SV)

使用选择的空间列读取单个文件可以很好地使用:

data00<-read.csv(file = '/Volumes/2018/06_abteilungen/bi/analytics/tools/adobe/adobe_analytics/adobe_analytics_api_rohdaten/api_via_data_feed_auf_ftp/beispiel_datenexporte_data_feed/01sssamsung4de_20180501-000000.tsv',
                 sep ="\t",
             fill = TRUE,
             quote='', 
             header = FALSE 
)[ ,c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813,     994, 995, 1002)]

现在我想导入多个文件并将它们组合到一个数据帧中:

setwd('/Volumes/2018/06_abteilungen/bi/analytics/tools/adobe/adobe_analytics/adobe_analytics_api_rohdaten/api_via_data_feed_auf_ftp/beispiel_datenexporte_data_feed/import_r')

temp <- list.files(pattern="*.tsv")

test_data <- lapply(temp, read.csv,
sep ="\t",
fill = TRUE,
quote='', 
header = FALSE 
)[ ,c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813, 994, 995, 1002)]

最后一个查询给了我一个异常并且不起作用:Fehler in lapply(temp,read.csv,sep =“\\ t”,fill = TRUE,quote =“”,header = FALSE)[,:falsche Anzahl von Dimensionen(翻译:错误的维数)

当我拿走所有列时,它可以工作:

test_data <- lapply(temp, read.csv,
sep ="\t",
fill = TRUE,
quote='', 
header = FALSE 
)

您正在索引数据框列表,而不是数据框本身。 尝试:

test_data <- lapply(temp,function(x){
  read.csv(file = x,
                 sep ="\t",
                 fill = TRUE,
                 quote='', 
                 header = FALSE 
  )[ ,c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813,994, 995, 1002)]
}
)

很难说没有样本数据,但我相信你必须首先“合并”你的导入列表:

dplyr解决方案:

library(dplyr)
test_data <- lapply(temp, read.csv,
                    sep ="\t",
                    fill = TRUE,
                    quote='', 
                    header = FALSE 
                    ) %>%  
  bind_rows() %>%
  select( c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813, 994, 995, 1002) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM