偶数行的行划分

时间:2016-04-19 19:24:44

标签: r division

我正在尝试划分 第一行第二行第三行第四行第五行第六行 >以及相当大的数据表。没有太多计算,有没有办法做到这一点。

输入

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% 

2 个答案:

答案 0 :(得分:5)

您可以使用“向前看”合并,通过单个观察偏移合并数据集:

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 ;

答案 1 :(得分:4)

在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%