假设我有三个数据帧my.list,每个数据帧都有不同的行数。我想重新排序此列表,以便列表的第一个元素是行数最多的数据框(在下面的示例中,d2)。
d1 <- data.frame(y1 = c(1, 2, 3),
y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1, 3, 2),
y2 = c(6, 5, 4, 2, 5))
d3 <- data.frame(y1 = c(2, 1),
y2 = c(3, 2))
my.list <- list(d1, d2, d3)
Run Code Online (Sandbox Code Playgroud)
预期输出:
str(mylist[[1]]) ## 'data.frame': 5 obs. of 2 variables:
$ y1: num 3 2 1 3 2
$ y2: num 6 5 4 2 5
Run Code Online (Sandbox Code Playgroud)
原因是:我重复绘制多个数据帧列表中第一个元素的数据,并希望确保在调用 时绘制具有最多数据点的数据帧plot(my.list[[1]])。
也许一个更干净的解决方案是在调用中plot搜索行数最多的元素/数据框并绘制它,但我不确定这有多容易。
一个潜在的复杂因素是,偶尔会出现一系列数据帧,其中有多个数据帧共享最多行数。在这种情况下,调用哪一个并不重要——它们都会做得很好——但我不确定这是否会在这里产生问题。