【问题标题】:R: output from for loop into vector/dataframe - object not foundR:从for循环输出到向量/数据框-找不到对象
【发布时间】:2015-07-16 16:13:55
【问题描述】:

我正在尝试将我的 for 循环中的两个向量编译到 cbind 到一个表中。 (我试图一步完成这一切,但由于以下问题,我试图简化。)

我设置了三个向量,id_namecount_rowsid_test

通过我的new_dat(预先存在的数据框),我将向量result 设置为ID 为i 的行数。

然后我打印输出,效果很好。

但是当我尝试将值推入向量时,我得到Error: object 'id_name' not found。其他两个也一样。

这是我的代码:

id_name <- c()
count_rows <- c()
id_test <- c()

for (i in id) {
  result <- sum(new_dat$ID == i)

  id_test <- c("hello", "world")
  id_name <- c(id_name, i)
  count_rows <-c(count_rows, result)

  print(result)
  print(i)
}

【问题讨论】:

  • 您是否尝试更改for 中的参数?也许for (i in 1:length(id)) 很难说没有数据的情况下会发生什么行为(至少对我来说)。

标签: r function for-loop vector


【解决方案1】:

以不同方式初始化向量。见下文;如果您的数据不是数字,您可能需要更改numeric,并将数据的实际长度替换为N(如果您事先知道的话)。

id_name <- vector('numeric', length=N)

您现在所做的创建了一个 NULL 变量,属于 NULL 类。

【讨论】:

  • 谢谢 - 这很有帮助。我想我也对函数中变量的范围感到困惑,所以这有点混乱
  • 您的问题解决了吗?如果是这样,如果这是问题,请考虑接受我的回答。
猜你喜欢
  • 2016-08-18
  • 2018-01-22
  • 1970-01-01
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 2012-03-09
  • 2014-08-05
  • 1970-01-01
相关资源
最近更新 更多