将 rbind 应用于 r 中数据框的所有列
apply rbind for all column of a data frame in r
我有一个这样的数据框:
a <- 1:5
b <- c("a","b","c","d","e")
c <- c(15,49,41,29,7)
df1 <- data.frame(a,b,c)
我想通过执行 r 绑定来创建一个列。
目前我是这样做的:
x <- as.data.frame(df1$a)
y <- as.data.frame(df1$b)
z <- as.data.frame(df1$c)
colnames(x)[1] <- "x"
colnames(y)[1] <- "x"
colnames(z)[1] <- "x"
e <- rbind(x,y,z)
但问题是,如果列数很大,如 50-60,则很难做到这一点。
需要帮助...
您可以使用 unlist
将其强制转换为一个向量,即 unlist(df1)
但您必须确保您没有任何因子列,并记住这样做您正在将数字列强制转换为字符。
对于上面的示例,这将不起作用,因为 df1$b
是一个因素。您必须先将其转换为字符。
我有一个这样的数据框:
a <- 1:5
b <- c("a","b","c","d","e")
c <- c(15,49,41,29,7)
df1 <- data.frame(a,b,c)
我想通过执行 r 绑定来创建一个列。 目前我是这样做的:
x <- as.data.frame(df1$a)
y <- as.data.frame(df1$b)
z <- as.data.frame(df1$c)
colnames(x)[1] <- "x"
colnames(y)[1] <- "x"
colnames(z)[1] <- "x"
e <- rbind(x,y,z)
但问题是,如果列数很大,如 50-60,则很难做到这一点。 需要帮助...
您可以使用 unlist
将其强制转换为一个向量,即 unlist(df1)
但您必须确保您没有任何因子列,并记住这样做您正在将数字列强制转换为字符。
对于上面的示例,这将不起作用,因为 df1$b
是一个因素。您必须先将其转换为字符。