【发布时间】:2018-07-31 16:15:51
【问题描述】:
给定最小的数据示例:
dfA <- data.frame(A=c("a","a","a"))
dfB <- data.frame(B=c("b","b"))
dfC <- data.frame(C=c("c","c","c"))
combineList <- list(dfA, dfB, dfC)
我想返回一个列表,每个列表元素一个数据框,具有最大行数的数据框,即 dfA 作为一个列表元素,dfC 作为第二个列表元素。它应该忽略 dfB,因为它的行数太少。
另一个例子:
dfA <- data.frame(c("a","a","a"))
dfB <- data.frame(c("b","b"))
dfC <- data.frame(c("c","c","c"))
dfD <- data.frame(c("d","d","d","d","d"))
combineList <- list(dfA, dfB, dfC, dfD)
我应该只有一个元素的列表:dfD,因为它有五个元素。
我试图避免一些神秘的 C 风格的带有整数标志的 for 循环。
【问题讨论】:
-
你的意思是
i1 <- sapply(combineList, nrow); combineList[i1 != min(i1)] -
谢谢大家。我会试一试,看看它是否能满足我的需要。
标签: r