【发布时间】:2021-04-08 18:34:00
【问题描述】:
假设我想将一个列表循环到所述列表的第 10 个元素。你能告诉我为什么代码不起作用吗?
loop <- function (list) {
for (i in (list:list[[10]])) {
df_i <- import(paste0(i))
}
}
loop(list)
返回:
Error in ord_dirs:ord_dirs[[10]] : NA/NaN argument
In addition: Warning messages:
1: In ord_dirs:ord_dirs[[10]] :
numerical expression has 18 elements: only the first used
2: In pasardir(ord_dirs) : NAs introduced by coercion
3: In pasardir(ord_dirs) : NAs introduced by coercion
【问题讨论】:
-
list:list[[10]]应该是for i in in 1:10) {list[[i]]} -
另外,
df_i名称中的i不会随着i的变化而变化,就像我有一个名为data的变量并且我设置了a <- "hello"一样,它不会不要变成dhellothello。您可能应该将结果放在list中。也许df_list <- lapply(list[1:10], import)... 但很难说。list实际上是list类,还是文件路径的字符向量,还是其他什么? -
我建议阅读我在How do I make a list of data frames? 的答案以进行讨论和示例。
-
list 是字符向量是的。