[英]for(i in seq_along(data_file): Error in file(file, “rt”) : invalid 'description' argument
我首先通過一個Excel文件將數據讀入R,該文件包含文件位置和文件名的列表:
data_files <- readxl::read_excel("./Data/source_data.xlsx")
接下來,我想使用for循環/ seq_along遍歷此列表,以訪問每個行變量,並在read.csv()中使用行變量,然后執行以下操作:
for(i in seq_along(data_files)){
x <- read.csv(data_files[[i]], sep= "\t", skipNul = TRUE)
# DO THINGS
}
當我運行for循環時,我得到:
Error in file(file, "rt") : invalid 'description' argument
我知道這與未按我期望的方式發生迭代有關,因為在執行以下操作時,csv已成功讀入R:
path <- "/Users/gerb/Downloads/"
file <- "Who_Has_Seen_crosstab (2).csv"
path_file <- paste(path, file, sep="")
x <- read.csv(path_file, sep= "\t", skipNul = TRUE)
@Rui Barradas得到我的投票,但值得擴大他的答案。 from ?seq_along
:“ seq_along和seq_len返回整數向量。” 如前所述,您可以通過將print添加到函數中來查看此內容。
l = tibble(a = c("a","b","C"))
x = tibble(a = c("a","b","C"),
b = c("x","y","z"))
for(i in seq_along(l)){
print(l[i])
}
# A tibble: 3 x 1
a
<chr>
1 a
2 b
3 C
for(i in seq_along(x)){
print(x[i])
}
> for(i in seq_along(x)){
print(x[i])
}
#A tibble: 3 x 1
a
<chr>
1 a
2 b
3 C
# A tibble: 3 x 1
b
<chr>
1 x
2 y
3 z
您不想要整個向量。 看來您想遍歷小標題中的每一行。 還有其他方法可以執行此操作,但是類似這樣的方法會更好:
for(i in 1:nrow(l)){
print(l[i,])
}
# A tibble: 1 x 1
a
<chr>
1 a
# A tibble: 1 x 1
a
<chr>
1 b
.....
最后一點:閱讀R輸出的副本和粘貼比圖像更容易。 避免抓住屏幕來回答將來的問題對其他人會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.