【问题标题】:Nested for loops and functions嵌套 for 循环和函数
【发布时间】:2014-10-23 16:03:46
【问题描述】:

我最初编写了一系列for 循环来更改名为“x_1”的数据框的“Reporte”变量中的值。

   for (i in seq(x_1$Reporter)){
     if (x_1$Reporter[i]=="52") {x_1$ReporterN[i]<-"Barbados"}
   }
...
   for (i in seq(x_1$Reporter)){
     if (x_1$Reporter[i]=="70") {x_1$ReporterN[i]<-"Bosnia Herzegovina"}
   }
...

我想让它适用于数据帧列表(例如,sx_148、sx_101,其中数字没有排序意义),而不仅仅是“x_1”。

我尝试了很多方法,但我都做不到。

【问题讨论】:

  • 向我们展示你尝试了什么以及哪里出了问题......这样更容易诊断问题

标签: r function for-loop


【解决方案1】:

您可以列出您的数据框(在我的示例中为dfList),然后使用lapply() 将函数应用于每个数据框。

dfList <- list(
  sx_148,
  sx_101
)

dfList <- lapply(dfList, function(x) {
  x$ReporterN[x$Reporter == "52"] <- "Barbados"
  x$ReporterN[x$Reporter == "70"] <- "Bosnia Herzegovina"
  return(x)
})

如果您想对更多数据框采取行动,只需将它们添加到列表中即可。

【讨论】:

    猜你喜欢
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多