【发布时间】:2018-03-30 11:09:32
【问题描述】:
我希望从这里出发:
#Create data frame
id = c(1,1,1,8,2,2,2,3,3,9,4,5,6,6,7)
name = c("tim","tim","tim","bill","jack","jack","jack","matt","matt","jen","dave","chris","kate","kate","brad")
value_1 = c(50,50,50,55,50,0,50,88,88,90,75,90,110,110,65)
df =data.frame(id,name,value_1)
到这里:
#Create data frame
id = c(1,1,1,8,2,2,2,3,3,9,4,5,6,6,7)
name = c("tim","tim","tim","bill","jack","jack","jack","matt","matt","jen","dave","chris","kate","kate","brad")
value_1 = c(50,0,0,55,50,0,0,88,0,90,75,90,110,0,65)
final_df =data.frame(id,name,value_1)
我需要将 value_1 列中的 dups 替换为 0,仅当满足以下条件时:如果唯一 id 计数大于 1,并且名称相同,并且 value_1 相同,则将所有值替换为除一个值外为零。我希望这是有道理的。我很难弄清楚这一点,而不会丢失任何观察结果。我需要保留所有观察结果,因为该数据集中还有其他变量我无法删除。
感谢您对 R 社区的帮助。
【问题讨论】:
标签: r