我有一张表,我希望根据变量转置。虽然我知道如何以类似的方式基于一个变量转置,但是我不知道这种风格。是否可以在SAS / Python / R中完成。
我的输入表
我想要的输出看起来像这个
答案 0 :(得分:2)
这是 R 解决方案
如果您的数据看起来像这样
dat <- data.frame(App = c(2,3), time = c("Sept", "Jan"),
Total = c(2,1777),
total_one = c(1, 1521),
total_two = c(1, 256))
dat
# App time Total total_one total_two
# 1 2 Sept 2 1 1
# 2 3 Jan 1777 1521 256
您可以reshape
将其设为wide
格式
reshape(dat, idvar = "App" , timevar="time" , direction="wide")
# App Total.Sept total_one.Sept total_two.Sept Total.Jan total_one.Jan total_two.Jan
# 1 2 2 1 1 NA NA NA
# 2 3 NA NA NA 1777 1521 256
有关详细信息,请参阅?reshape
答案 1 :(得分:1)
PROC TABULATE
是最容易做到这一点的方法......
http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a000146759.htm
有些事情......
proc tabulate data=mydata ; class APPLICATION MONTH_YEAR ; var TOTAL_: ; table APPLICATION, MONTH_YEAR ; run ;
答案 2 :(得分:1)
您可以轻松地使用proc report
执行此操作。从这段代码开始,然后根据您的需求进行修改。
proc report data=have nowd;
columns application month_year,(total_number_applications tota_applications_one total_applications_two);
define application/group;
define month_year/across;
run;