[英]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.