我不知道如何使这项工作?条件在R
我希望做一个数据帧的新列依赖于其他两列是否满足以下条件:
如果DF $ Cn_LCIS和DF $ Cn_ILC都大于“2”打印“0”
如果DF $ CN_LCIS和DF $ Cn_ILC均小于 '2' 打印 '0'
,如果它们是相同的同时打印 '0' 否则打印 '1'
DF
Chromosome Start End Cn_ILC mCn_ILC Cn_LCIS mCn_LCIS both
chr1.1 chr1 0 11194349 2 1 2 1 0
chr1.2 chr1 102809740 104579163 2 1 3 1 1
chr1.3 chr1 104579163 121311799 2 1 2 1 0
chr1.4 chr1 11194349 11492125 2 1 3 1 1
chr1.5 chr1 11492125 71442329 2 1 2 1 0
chr1.6 chr1 144009053 157140292 1 1 1 1 0
chr1.7 chr1 157140292 243709339 2 1 1 1 0
chr1.8 chr1 243709339 244112662 3 1 3 1 0
chr1.9 chr1 244112662 249250621 3 1 3 1 0
chr1.10 chr1 71442329 72624878 2 1 3 1 1
chr1.11 chr1 72624878 102809740 2 1 4 1 1
不工作:
df$both <- ifelse(df$Cn_LCIS > 2 & df$Cn_ILC > 2, 0, ifelse (df$Cn_LCIS < 2 & df$Cn_ILC < 2, 0, ifelse (df$Cn_LCIS == 2 & df$Cn_LCIS == 2, 0, ifelse(df$Cn_ILC!=df$Cn_LCIS,1))))
为ifelse,看看这里:HTTP:// stackoverflow.com/questions/16275149/does-ifelse-really-calculate-both-of-its-vectors-every-time-is-it-slow/16 275201 – 2014-09-29 20:27:38