【问题标题】:How to insert a vector into one row of a data frame?如何将向量插入数据框的一行?
【发布时间】:2020-01-22 20:31:42
【问题描述】:

我正在尝试将字符向量插入数据框中的一行,而不是为数据框中的每个值创建单独的行。到目前为止我所拥有的:

a<- as.character(c(1:10))


data_frame <- as.data.frame(a)

我想要 1 个变量中的 1 个观察值而不是 1 个变量中的 1 个观察值,并且 1 个观察值看起来像“1”、“2”....“10”,其中向量中的每个值都用逗号分隔.

【问题讨论】:

  • 试试tibble(a = list(a))
  • 你只想要一个变量一行吗?即data.frame(col1 = paste0('"', 1:10, '"', collapse = ", "))
  • 谢谢两位!这正是我所需要的。
  • 如果您需要访问列表中的各个元素,并将它们全部放在一列中,我认为 AndS 的解决方案和我下面的解决方案应该可以工作。您可以使用“df[[1]][[1]][3]”之类的内容来访问各个元素。

标签: r


【解决方案1】:

你可以简单地做转置向量t:

df = data.frame(t(a))

  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1  1  2  3  4  5  6  7  8  9  10

【讨论】:

  • 我确实尝试过转置它,但我只有一列包含向量的所有值,而不是包含向量每个值的 10 列。
  • 或使用as.data.frame.list(a)
【解决方案2】:

请在下面尝试。 “I”是一个禁止对象解释/转换的功能,如在控制台中键入“?I”所示。

data.frame(test = I(list(a)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多