【发布时间】:2020-09-26 14:14:49
【问题描述】:
我以列表的形式生成了一个包含 203 个单个数据表的列表。我用 sapply 创建它,它看起来像这样:
在每个表格中,我想选择 slope_CC 值(它复制了它,所以它的值相同了几次)。我计算它们的平均值而不是选择其中之一,因为它更容易。目标是在一个新的数据表中拥有所有手段。这些表有不同的行号。
First_table <- slope_list$selected0.csv
get_means_fun <- function(First_table){
N <- First_table[["slope_CC"]]
mean <- mean(N)
return(data.frame(mean))
}
list_select <- lst(pattern=".csv", slope_list)
get_means <- lapply(list_select, get_means_fun)
lapply() 是最好的方法吗?
我收到此错误:First_table[["slope_CC"]] 中的错误:下标超出范围,即使我单独运行同一行时它仍然有效。
【问题讨论】:
-
在你的函数中尝试
First_table["slope_CC"]! -
看看你的一些列表对象(例如,selected1.csv)不是data.frames,而是一个逻辑[1]?这些将在功能中失败,因为它们显然没有您想要的列。您需要事先删除它们,或者有办法在函数中跳过它们。