【发布时间】:2016-04-26 09:08:13
【问题描述】:
我有一个名为 pval 的 20 个子列表的列表,每个子列表 pval[[i]] 包含几列。我想增加一个新列pval[[i]]$class来标记向量causal_snp的元素是否出现在每个子列表的X4列中,如果是,则在新列中标记1,否则为0。
for (i in 1:20){
pval[[i]]$class = ifelse(pval[[i]]$X4 %in% causal_snp, 1, 0)
pval[[i]]$class = as.factor(pval[[i]]$classe)
}
上面的循环运行良好,但我想使用函数 lapply 而不是 for 循环,这是我尝试过的,但输出只包含每个子列表的新列:
pval_bis <- lapply(pval, function(x) x$classe=ifelse(x$X4 %in% causal_snp, 1, 0))
我可以在 lapply 函数中修改什么以将我的所有列保留在子列表中并在每个子列表中添加新列?谢谢。
【问题讨论】:
-
您能否提供可重现示例的数据? stackoverflow.com/questions/5963269/…
标签: r