Creating a data frame from nrow results of different vectors/data frames
我在不同的 data.frames 中有一些向量。我想计算每个向量的观察次数并从中列出。第一列应该是数据框名称,第二列应该是每个数据框中的观察数。一个最小的例子可能是,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | x <- c(1, 3, 4, 5, 6) x1 <- data.frame(x) y <- c(3, 9) y1 <- data.frame(y) z <- c(23, 43, 23, 12, 1, 3, 7,8,9) z1 <- data.frame(z) a <- nrow(x1) b <- nrow(y1) c <- nrow(z1) d <- c(a, b, c) e <- data.frame(d) e |
输出e是这样的,
1 2 3 4 5 | > e d 1 5 2 2 3 9 |
但是,我想要这样,
1 2 3 4 5 | > e df.name nobs 1 x1 5 2 y1 2 3 z1 9 |
任何帮助将不胜感激。
我们可以用
做到这一点
1 | stack(lapply(mget(c("x1","y1","z1")), nrow))[2:1] |
这是你想要的吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 | x <- c(1, 3, 4, 5, 6) x1 <- data.frame(x) y <- c(3, 9) y1 <- data.frame(y) z <- c(23, 43, 23, 12, 1, 3, 7,8,9) z1 <- data.frame(z) library(purrr) targlist <- list(x1,y1,z1) data.frame( names=unlist(map(targlist,names)), nobs=unlist(map(targlist,nrow)) ) |
如果有多个列