使用lapply和order按字母顺序对列表中同一列中的行进行排序

时间:2018-03-15 06:13:15

标签: r

我正在尝试按字母顺序在列表中的同一列中排序。

V1 <- c(5, 2, 4, 2)
V2 <- c("a1", "d2", "c3", "b4")
df1 <- data.frame(V1,V2)

V1 <- c(5:8)
V2 <- c("t5", "t6", "t7", "t8")
df2 <- data.frame(V1,V2)

x <- list(df1, df2)

x <- lapply(x, function(y) data.frame(y, V2 = order(y$V2)))

预期输出应为:

[[1]]
  V1 V2 
1  5 a1    
2  2 b4    
3  4 c3    
4  2 d2    

[[2]]
  V1 V2 
1  5 t5    
2  6 t6    
3  7 t7    
4  8 t8    

但是,上面的输出产生了V2.1的额外列,显然,它按字母顺序排列我的行。

[[1]]
  V1 V2 V2.1
1  5 a1    1
2  2 d2    4
3  4 c3    3
4  2 b4    2

[[2]]
  V1 V2 V2.1
1  5 t5    1
2  6 t6    2
3  7 t7    3
4  8 t8    4

有人可以指出我的错误吗?

0 个答案:

没有答案