偶数行的行划分

Row division for even number rows

我正在尝试第一行与第二行第三行与第四行分开,第五行,第六行 以及相当大的数据table。有什么方法可以不用太多计算就可以做到吗?

输入

Name Month Income
John Jan 10000 
John_County Jan 20000 
Tanya Jan 20000 
Tanya_County Jan 40000

输出

Name Month Per_Income
John Jan 50%
Tanya Jan 50% 

您可以使用 'look ahead' 合并,通过单个观察偏移合并的数据集:

data want ;
  merge have 
        have (firstobs=2 rename=(Income=Next_Income)) ;
  if mod(_n_,2) = 1 then do ;
    /* 1st, 3rd, 5th, etc. row */
    Per_Income = Income / Next_Income ;
    output ;
  end ;
run ;

在 R 中,您可以使用偶数和奇数索引:

odds <- c(TRUE, FALSE)
II[odds,"Per_Income"] <- paste0(II[odds,3] / II[!odds,3] * 100,"%")
II[odds,]
#    Name Month Income Per_Income
# 1  John   Jan  10000        50%
# 3 Tanya   Jan  20000        50%