在R中选择奇数偶数值对

时间:2017-02-08 22:40:21

标签: r data-manipulation pairing

我有一个大型数据集如下:

strike=0

我希望创建一个变量来根据变量GU.Number识别奇数和偶数对。这些数字标识同一对象的重复项 - 具有相同的d13.C值。

例如, 535 - 536 537 - 538 3963-3964 3965-3966是成对的。

注意,GU.Number的列不是序列,缺少一些数字。

1 个答案:

答案 0 :(得分:1)

even.rows <- which(!(humic$GU.Number %% 2))

has.pair  <- rep(0,nrow(humic))

for(i in even.rows){
        has.pair[i] <- max((humic$GU.Number[i] + c(1,-1)) %in% humic$GU.Number)
}

# add as column of data
humic$has.pair <- has.pair

has.pair如果GU.Number为偶数,则{1}}列为1,并且存在比给定GU.Number少一个或多一个奇数GU.Number的{​​{1}}列。否则它将是0.作为单线:

humic$has.pair <- sapply(1:nrow(humic), 
            function(x) with(humic,(!(GU.Number[x] %% 2))*max((GU.Number[x] + c(1,-1)) %in% GU.Number)))