【问题标题】:Create R data frame row-wise逐行创建 R 数据框
【发布时间】:2021-03-21 08:33:03
【问题描述】:

如何在 R 中创建一个数据框以提供数据行?我正在寻找一种单一声明的解决方案。

这是按列的单一语句解决方案:

mydf = data.frame(
    fruit = c("apple", "orange", "banana"),
    pieces = c(3, 2, 5)
)

我发现逐行方法更合乎逻辑(假设我们有数百个条目),因此我正在寻找这样的解决方案。

我做了一些调查。我找到的最简单的解决方案是:

mymatrix <- rbind(
    c("apple", 3), 
    c("orange", 2), 
    c("banana", 5)
)
colnames(mymatrix) <- c("fruit", "pieces")
mydf = as.data.frame(mymatrix)
mydf = transform(mydf, pieces=as.numeric(pieces))

但由于需要额外的变量和多步转换,我仍然觉得它太复杂了。有没有一种类似于按列方法的单一语句解决方案?

【问题讨论】:

  • tribble()? tibble() %&gt;% add_row(fruit="Orange", pieces=3)?

标签: r dataframe


【解决方案1】:

您可以使用 tibble 包中的 tribble 来按行创建 tibble

library(tibble)

mydf <- tribble(
~fruit, ~pieces, 
"apple", 3, 
"orange", 2,
"banana", 5
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2023-01-17
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    相关资源
    最近更新 更多