【发布时间】:2019-01-30 19:34:39
【问题描述】:
这是我正在使用的数据集:
ID x1 x2 x3 x4 x5
1 0 0 1 .25 .25
2 0 .5 .5 1 Complete
3 0 .25 .25 .5 .75
4 0 .5 1 Complete Complete
当您看到值 1 连续出现时,该行中的所有剩余值都应显示为“完成”。我正在尝试解决此数据中的一个问题,您可以看到至少有一行不遵循该规则(第 1 行)。我想找到一种方法,或者通过 for 循环,在 tidy 中进行变异等来循环浏览我的数据集并读取每一行,直到它在该行中找到 1 的值(如果适用)。如果它发现该值为 1,则让它在该行中将所有剩余值替换为“完成”,因为无论如何这应该是默认值。
这应该是数据的样子:
ID x1 x2 x3 x4 x5
1 0 0 1 Complete Complete
2 0 .5 .5 1 Complete
3 0 .25 .25 .5 .75
4 0 .5 1 Complete Complete
我现在拥有的是:
for(i in 1:nrow(data)){ position <- which(data[i, ]==1)
data[,position+1] <- "Complete" }
【问题讨论】: