我正在尝试划分 第一行第二行,第三行第四行,第五行第六行 >以及相当大的数据表。没有太多计算,有没有办法做到这一点。
输入
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%
答案 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%