我有一个函数生成的数据框: 每次具有不同的行数:
structure(list(a = c(1, 2, 3), b = c("er", "gd", "ku"), c = c(43,
453, 12)), .Names = c("a", "b", "c"), row.names = c(NA, -3L), class = c("tbl_df",
"tbl", "data.frame"))
structure(list(a = c(1, 2), b = c("er", "gd"), c = c(43, 453)), .Names = c("a",
"b", "c"), row.names = c(NA, -2L), class = c("tbl_df", "tbl",
"data.frame"))
我希望能够像在while
循环中那样,在绑定行时将行数控制为少于n
(n = 4, 100, 4242...
)。
请告知如何使用无while
循环的函数式编程来做到这一点?
我的意思是有时您会在bind_rows为7之前得到n = 10
和df,而在绑定最后一个为df之后将得到20。没关系,我希望行数为min_k (k >= n)
这是我的while循环:
b <- list()
total_rows <- 0
while(total_rows < 1000) {
df <- f_produce_rand_df()
b[[length(b) + 1]] <- df
total_rows <- total_rows + nrow(df)
}