我正在尝试在R中转换一段python代码,但我不知道如何实现。
在python中,我们可以这样做:
## dictionary
a_list = {'red':23, 'black':12,'white':4,'orange':79}
## sort by key
dict(sorted(a_list.items()))
{'black': 12, 'orange': 79, 'red': 23, 'white': 4}
## sort by values
sorted(a_list.items(), key=lambda x: x[1])
[('white', 4), ('black', 12), ('red', 23), ('orange', 79)]
对于这个问题,我有一个:
a_list <- list(red=23, black=12, white = 4, orange=79)
我想用两种方式对该列表进行排序,以使输出为:
输出1(按键排序):list(black=12, orange=79, red=23, white = 4)
输出2(按值排序):list(white = 4,black=12, red=23,orange=79)
我该怎么做?
答案 0 :(得分:5)
第一种情况是'a_list'的order
上的一个names
选项
a_list[order(names(a_list))]
#$black
#[1] 12
#$orange
#[1] 79
#$red
#[1] 23
#$white
#[1] 4
第二,由于list
的元素分别为length
1,unlist
和order
a_list[order(unlist(a_list))]
#$white
#[1] 4
#$black
#[1] 12
#$red
#[1] 23
#$orange
#[1] 79