【发布时间】:2017-12-08 22:00:47
【问题描述】:
我在编写的脚本中遇到了一个错误,该错误仅在我运行 dplyr 时发生。当我从dplyr 找到一个我想使用的函数时,我第一次遇到它,然后我安装并运行了这个包。这是我的错误示例:
首先,我从 excel 中读取了一个表,其中包含我将用作索引的列值:
library(readxl)
examplelist <- read_excel("example.xlsx")
文件内容为:
1 2 3 4
1 1 4 1
2 3 2 1
4 4 1 4
然后我建立一个数据框:
testdf = data.frame(1:12, 13:24, 25:36, 37:48)
然后我有一个循环调用一个函数,该函数使用examplelist 的值作为索引。
testfun <- function(df, a, b, c, d){
value1 <- df[[a]]
value2 <- df[[b]]
value3 <- df[[c]]
value4 <- df[[d]]
}
for (i in 1:nrow(examplelist)){
testfun(testdf, examplelist[i, 1], examplelist[i, 2],
examplelist[i, 3], examplelist[i, 4])
}
当我在没有dplyr 的情况下运行这个脚本时,一切都很好,但是使用dplyr 它给了我错误:
Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'
为什么dplyr 会导致此错误,我该如何解决?
【问题讨论】: