0
有3个数据帧。 ID变量位于每个数据帧的第12列。我创建了一个向量list_cc_q1
,其中包含所有数据帧中的所有唯一ID(因此该向量中的每个条目都出现在至少一个数据帧的第12列中)。通过ID变量在数据帧之间求和变量
我希望创建,增加了,对于每个ID的向量v1
,在从含有该ID的每个数据帧中的第七列中的值(因此v1
将是相同长度的作为list_cc_q1
)。下面是我使用的代码:我想我已经过于复杂的代码,一个简单的方法将是极大的帮助
Error in get(y)[x, 12] : incorrect number of dimensions
Called from: which(get(y)[x, 12])
:
f1 <- function(x,y){
ifelse(length(get(y)[which(get(y)[x,12]),7])>0, get(y)[which(get(y)[x,12]),7], 0)}
g1 <- function(x){sum(sapply(ls()[1:3], function(y){ f1(x,y)}))}
v1 <- sapply(list_cc_q1, function(z){ g1(z) })
这将返回以下错误。
但为什么不工作?
完美!你理解正确。通过使用ls(envir = .GlobalEnv)修正我的代码'[和另一个修正关于哪个']。但是你的代码片断要快2500倍。谢谢! –