我试图在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)]
Run Code Online (Sandbox Code Playgroud)
对于这个问题,我有一个:
a_list <- list(red=23, black=12, white = 4, orange=79)
Run Code Online (Sandbox Code Playgroud)
我想以两种方式对此列表进行排序,例如输出为:
输出1(按键排序): list(black=12, orange=79, red=23, white = 4)
输出2(按值排序): list(white = 4,black=12, red=23,orange=79)
我怎样才能做到这一点 ?
一种选择是order对的names"的a_list"对于第一种情况
a_list[order(names(a_list))]
#$black
#[1] 12
#$orange
#[1] 79
#$red
#[1] 23
#$white
#[1] 4
Run Code Online (Sandbox Code Playgroud)
第二,因为list元素是length1,unlist并且order在那上面
a_list[order(unlist(a_list))]
#$white
#[1] 4
#$black
#[1] 12
#$red
#[1] 23
#$orange
#[1] 79
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |