【问题标题】:Creating a Data Frame with unknown size in R在 R 中创建大小未知的数据框
【发布时间】:2015-04-22 20:19:24
【问题描述】:

我正在尝试创建一个我不知道大小的数据框。有没有办法创建一个适应你的变量的数据框?

我可以做这样的事情吗?

df <- function(n){
x <- numeric(0)
y <- numeric(0)
z <- numeric(0)
i <- 0
repeat{
 x[i] <- value1(...)
 y[i] <- value2(...)
 z[i] <- value3(...)
 i < i + 1
if(i >= n){
 break
}
}
df <- data.frame(val1 = x, val2 = y, val3 = z)
}

为此,我们假设 value1()、value2() 和 value3() 只返回一些数值。

【问题讨论】:

  • 您可以像这样创建一个虚拟数据框:n &lt;- 10; df &lt;- data.frame(x=numeric(n), y=character(n), z=logical(n))。我不知道你的目标是什么......
  • 数据框没有静态大小。例如,rbind()cbind() 将始终扩展数据框的大小。虽然也许我误解了你的问题。
  • 我猜你应该知道尺寸。否则,当未指定 n 时,如何“中断”或您的函数将引发错误。并且rbind() 可以轻松处理具有 NULL 元素的数据框 (data.frame(val1 = numeric(0), ...))

标签: r dataframe


【解决方案1】:

我认为你可以这样做:

使用空向量将您的数据框初始化为空:

df <- data.frame(val1=value1(),
                 val2=value2(), 
                 val3=value3()) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2019-08-17
    • 2019-08-23
    • 2016-12-13
    • 1970-01-01
    • 2022-12-13
    • 2014-12-31
    相关资源
    最近更新 更多