【问题标题】:Utilizing a for loop in R在 R 中使用 for 循环
【发布时间】:2017-06-08 16:17:41
【问题描述】:

希望你们一切都好。

我有一个简单的问题。这是我的代码:

for(i in 2:49){
  PriceFun[i] = approxfun(data[i]$FUEL_PRICE_REAL ~ data[i]$dd)

  PriceFromDate[i] = function(x) {
    round(PriceFun[i](x), 3) }
} 

我想要的输出是什么:

PriceFun2 = approxfun(data2$FUEL_PRICE_REAL ~ data2$dd)

PriceFromDate2 = function(x) {
  round(PriceFun2(x), 3) }

PriceFun3 = approxfun(data3$FUEL_PRICE_REAL ~ data3$dd)

PriceFromDate3 = function(x) {
  round(PriceFun3(x), 3) }

等等……

我的语法不正确吗?我很少用R

提前致谢。

【问题讨论】:

  • 请参阅how to make a great R reproducible example。如所写,不清楚你在问什么。如果您可以显示一些示例数据,这将有助于我们了解您是在尝试遍历 data.frames 列表(如果 data 是您的列表,则为 data[[i]])或什么。
  • 我认为我的问题很清楚。语法有问题,解析没有问题。我只是混淆了如何在我的示例中使用 R 中的 for 循环。
  • 请告诉我们str(data) 否则没人能帮助你

标签: r function loops for-loop syntax


【解决方案1】:

1) 你能提供更多关于“data”和“PriceFun”的数据类型的信息吗?如果这些是列表,您是否在 for 循环前面创建了空列表?

2) 我认为循环内的函数体会给你语法错误。如果要调用列表的元素,请尝试使用方括号 [],而不是 ()。

3) 只需使用 round(PriceFun[i], 3) 即可对整列进行舍入。

【讨论】:

  • PriceFun 看起来像这样插入数据:data1 [date] [fuel price] [1,] 01/15/2010 3.56 [2,] 01/17/2010 3.32 [3,] 03/18/2010 3.45 [4,] 04/20/2010 3.94 [4,] 04/25/2010 3.94 这不是一个列表。我只是想用 for 循环创建新变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 2021-12-08
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多