通过比较R中第1列和第2列中的值来增加第三列中的值

时间:2017-05-24 04:40:20

标签: r

我的数据框mydata包含2列Col1Col2,我需要创建第三列Col3,它通过比较{{}来增加值1}}和Col1即如果Col2中的值>> = 20且col1> = 15中的值,则col2中的值应增加1及以下行应该保持相同的值,直到它遇到相同的条件 col3如下所示

Dataframe

结果数据框应

col1   col2      
 10     3  
 21     4  
 15     17  
 22     16  
 09     78  

这是我在R的第一个项目。

1 个答案:

答案 0 :(得分:0)

我们可以在逻辑cumsum

上使用vector
mydata$col3 <- with(mydata, cumsum(col1 >=20 & col2 >=15))
mydata$col3
#[1] 0 0 0 1 1 1 2 2 3

数据

mydata <- structure(list(col1 = c(10L, 21L, 15L, 22L, 9L, 7L, 23L, 24L, 
24L), col2 = c(3L, 4L, 17L, 16L, 96L, 78L, 17L, 10L, 20L)), 
.Names = c("col1", 
"col2"), row.names = c(NA, -9L), class = "data.frame")