作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的以下要求,我无法获得解决方案。
如果 data.table(如下)在 Col1 和 Col3 中有匹配的值。替换 Col2 值(旧的 New-Val)。
Col1 Col2 Col3
1 old a
1 old a
1 New-Val a
Col1 Col2 Col3
1 New-Val a
1 New-Val a
1 New-Val a
Col1 Col2 Col3
1 blank a
1 blank a
1 New1 a
2 blank b
2 new2 b
2 new2 b
Col1 Col2 Col3
1 New1 a
1 New1 a
1 New1 a
2 new2 b
2 new2 b
2 new2 b
最佳答案
我们可以用 NA 替换“Col2”中的“空白”值并使用 na.locf
用“Col1”和“Col3”分组的"new"值替换NA。
library(zoo)
dt[Col2=="blank", Col2 := NA]
dt[, Col2 := na.locf(Col2, fromLast=TRUE) ,.(Col1, Col3)]
dt
# Col1 Col2 Col3
#1: 1 New1 a
#2: 1 New1 a
#3: 1 New1 a
#4: 2 new2 b
#5: 2 new2 b
#6: 2 new2 b
dt[, Col2 := Col2[Col2!='blank'][1L] , .(Col1, Col3)]
关于r - R : Replace a column value with a value from same column after matching two other columns values 中的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446284/
我是一名优秀的程序员,十分优秀!