【发布时间】:2016-05-19 21:59:07
【问题描述】:
我有一个具有以下格式的数据框列表,我想通过它来运行条件:
IDn = c("ChrM", "ChrM" ,"ChrM" ,"ChrM" ,"ChrM")
posn = c(2,5,7,8,9)
met = c(2,0,4,1,0)
nmet = c(2,1,0,2,0)
bd = c(3,3,0,8,10)
dfp = data.frame(IDn,posn,met,nmet,bd)
IDn posn met nmet bd
1 ChrM 2 2 2 3
2 ChrM 5 0 1 3
3 ChrM 7 4 0 0
4 ChrM 8 1 2 8
5 ChrM 9 0 0 10
dfp[crit] <- (dfp[met]+dfp[nmet]>=4) & (dfp[met]>=dfp[bd])
问题是列表中的每个 df 都有不同的名称,存储在 names2 下
names2[crit] <- as.numeric((names2[met]+names2[nmet]>=4) & (names2[met]>=names2[bd]))
[crit] 是存储 0 或 1 值的新列。我试图用lapply 运行它,但到目前为止还没有运气。有什么建议吗?
【问题讨论】:
标签: r list dataframe conditional lapply