提问人:dave 提问时间:4/26/2023 最后编辑:zx8754dave 更新时间:4/26/2023 访问量:56
如何同时订购两列
How to order two columns simultaneously
问:
我希望“YEAR”列按“1970,1971,1972,1973”的顺序排列,而“AMOUNT”列应同时按升序排列。另外,我希望创建额外的行来完成“YEAR”列中的年数。
K <- data.frame("YEAR" = c(1970,1972,1973,1971,1972,1971,1973,1970,1970),
"AMOUNT" = c(100,100,200,100,400,300,700,200,800),
"DISTANCE" = c(12,3,9,12,25,26,10,7,15))
这是我想要的结果:
K <- data.frame("YEAR" = c(1970,1971,1972,1973,1970,1971,1972,1973,1970,1971,1972,1973),
"AMOUNT" = c(100,100,100,200,200,300,400,700,800,"NA","NA","NA"),
"DISTANCE" = c(12,3,12,9,7,26,25,10,15,"NA","NA","NA"))
答:
0赞
George Savva
4/26/2023
#1
我不确定您打算如何推广此解决方案,因此这可能并不理想,但它可以满足您的需求。
data.frame( YEAR = rep(sort(unique(K$YEAR)),3),
AMOUNT = sort(K$AMOUNT)[1:12],
DISTANCE = K$DISTANCE[1:12])
YEAR AMOUNT DISTANCE
1 1970 100 12
2 1971 100 3
3 1972 100 9
4 1973 200 12
5 1970 200 25
6 1971 300 26
7 1972 400 10
8 1973 700 7
9 1970 800 15
10 1971 NA NA
11 1972 NA NA
12 1973 NA NA
评论
1赞
zx8754
4/26/2023
无需对最后一列进行排序
0赞
George Savva
4/26/2023
好地方。谢谢。
上一个:如何根据组值创建新变量?
下一个:R 中同一列内的成对比较
评论