作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将列值设置为最后一个正整数?下面是一个例子:
这是一个数据框:
id <- c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)
test <- c(5,6,-1,2,3,-1,-2,-3,5,-2,-1,1,1,2,-3,-3,2,3,5,4)
df1 <- data.frame(id,test)
期望的输出:
id|test
1 |5
1 |6
1 |6
1 |2
1 |3
1 |3
1 |3
1 |3
1 |5
1 |5
2 |NA
2 |1
2 |1
2 |2
2 |2
2 |2
2 |2
2 |3
2 |5
2 |4
最佳答案
我们可以replace
NA
的负值并使用 fill
替换 NA
每个“id”具有前一个非 NA 值的元素
library(dplyr)
library(tidyr)
df1 %>%
mutate(test = replace(test, test < 0, NA)) %>%
group_by(id) %>%
fill(test)
-输出
# A tibble: 20 x 2
# Groups: id [2]
# id test
# <dbl> <dbl>
# 1 1 5
# 2 1 6
# 3 1 6
# 4 1 2
# 5 1 3
# 6 1 3
# 7 1 3
# 8 1 3
# 9 1 5
#10 1 5
#11 2 NA
#12 2 1
#13 2 1
#14 2 2
#15 2 2
#16 2 2
#17 2 2
#18 2 3
#19 2 5
#20 2 4
关于r - 如何将列值设置为最后一个正整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64016488/
我是一名优秀的程序员,十分优秀!