繁体   English   中英

R:在嵌套列表中进行排列和排序

[英]R: arranging and sorting within nested list

我在R中有一个数据框,该数据框的列表类型列包含四个数字:

          Size
Ford   1,2,3,4
Gm     2,3,5,6
Nissan 2,3,4,5
Toyota 1,2,2,4

这里的汽车名称(福特等)是行名,尺寸(“ 1、2、3、4”等)是一列列表。

我想通过“大小”列中的第三个数字对该数据帧进行排序,因此我们得到以下结果:

          Size
Toyota 1,2,2,4
Ford   1,2,3,4
Nissan 2,3,4,5
Gm     2,3,5,6

在一个完整的示例中,每行有很多列,但我仍然想按Size列中的第3个值进行排序。

如下所示将起作用-我将首先重新制作数据:

dat <- data.frame(
  ID=1:4,
  Size=I(list(1:4,c(2,3,5,6),2:5,c(1,2,2,4))),
  row.names=c("Ford","Gm","Nissan","Toyota")
)

看起来像:

       ID       Size
Ford    1 1, 2, 3, 4
Gm      2 2, 3, 5, 6
Nissan  3 2, 3, 4, 5
Toyota  4 1, 2, 2, 4

然后订购:

dat[order(sapply(dat$Size,"[",3)),]

       ID       Size
Toyota  4 1, 2, 2, 4
Ford    1 1, 2, 3, 4
Nissan  3 2, 3, 4, 5
Gm      2 2, 3, 5, 6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM