cbind,垂直而不是水平

时间:2017-03-14 18:12:38

标签: r dplyr

我正在尝试将列表绑定到以下示例中的数据框。我想要每行的行号,但我得到每一行,以及整个列表。这只是我想要做的简化,但原理是一样的。

mtcars是32 obs的数据框。 11个变量

我正在寻找32个变量的32个新变量,其中新列是列表,而不是我得到32个变量的32个变量

任何帮助都会非常感激

the_list <- list()
for (i in 1:nrow(mtcars))
{
  the_list[i] <- i
}

test <- cbind(mtcars, the_list)

3 个答案:

答案 0 :(得分:0)

lmo的回复是正确的。

test&lt; - cbind(mtcars,unlist(the_list))

答案 1 :(得分:0)

如果您的rownames只是数字1 ... nrow(),那么只需执行:

mtcars %>% rownames_to_column(var='the_list')

答案 2 :(得分:0)

不确定为什么你希望它是一个列表而不是像其他列一样的矢量,但下面的工作

mtcars$listCol <- as.vector(x = 1:nrow(mtcars), mode = "list")