【发布时间】:2020-05-05 22:42:36
【问题描述】:
我有一个如下所示的数据框:
df <- data.frame('col1'=c(1,2,2,4,5), 'col2'=c(4,9,3,5,13), 'col3'=c(3,5,8,7,10))
> df
col1 col2 col3
1 1 4 3
2 2 9 5
3 2 3 8
4 4 5 7
5 5 13 10
如果行中至少一个值大于或等于 8,我想创建一个值为 1 的新列,如果 all 行中的值小于 8。因此最终结果将如下所示:
> df
col1 col2 col3 new
1 1 4 3 0
2 2 9 5 1
3 2 3 8 1
4 4 5 7 0
5 5 13 10 1
谢谢!
【问题讨论】:
-
你有NA吗?
-
我找不到一个好的副本,虽然我知道有一个,但是像
as.integer(rowSums(df >= 8) > 0)
标签: r