本文介绍了使用 for 和 if 根据数据框中的其他列添加列值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的数据框:
I have a dataframe like this:
id adit diag1 diag2 2 3 4230 2234 3 5 3345 4456 4 6 4567 4467我想使用下面的伪代码添加其他 2 列,dse1 和 dse2:
I would like to add other 2 columns, dse1 and dse2 using the pseudo-code below:
if diag1 contains 4230 then dse1 = 1 else dse1 = 0 if diag2 contains 4567 then dse2 =1 else dse2 = 0我用过这个:
for (i in 1 : nrow(dse)){ for (j in 3: ncol(dse)){ if dse[i,j] %in% ("4320"){dse$dse1 = 1} else{dse$dse1 = 0} if dse[i,j] %in% ("4567"){dse$dse2 = 1} else{dse$dse2 = 0} } }但这些都不起作用.
推荐答案无需使用循环,只需使用ifelse,例如
No need to use a loop, just use ifelse, for example
dse = within(dse, { dse1 = ifelse(diag1 == 4230, 1, 0) dse2 = ifelse(diag2 == 4567, 1, 0) })更多推荐
使用 for 和 if 根据数据框中的其他列添加列值
发布评论