【问题标题】:Hi I would like to run a loop from a list and have it go through a function one at a time using R?嗨,我想从列表中运行一个循环,并让它使用 R 一次通过一个函数?
【发布时间】:2021-02-05 13:26:26
【问题描述】:

我有一个看起来像这样的数据框(df)

  a|    b|    c|    d|    e|    f
val1 val2 val3  val4   val5  val6

我的清单是

 list<-c("b","c","d")

我希望只有 b、c 和 d 可以通过函数 trimws。但是它可以是任何东西。

for (i in list) {
  assign(df, get(df) %>% trimws (i), envir = .GlobalEnv)}

我尝试运行此循环,但没有成功。我收到一条错误消息

Error: unexpected '}' in "  assign(df, get(df) %>% trimws (i), envir = .GlobalEnv)}"

在一天结束时,我只想在三列中运行一个函数,并让它忽略不在列表中的那些

【问题讨论】:

  • 循环的结束 } 需要换行。这就是那个错误的意思。
  • df[c("b", "c", "d")] &lt;- lapply(df[c("b", "c", "d")], trimws).

标签: r list loops


【解决方案1】:

这应该可以帮助您完成构建的工作循环。这应该可以帮助您跳过某些值。

    list <- c("b","c","d")

    Output <- NULL

    for(i in list){
        if(i == "c"){next}
        
        Output <- c(Output, i)
    }
Output
[1] "b" "d"

【讨论】:

  • 不,我想在 df 上运行循环,根据我创建的列表,它只在“b”、“c”和“d”列上运行。
  • df[c("b", "c", "d")] &lt;- lapply(df[c("b", "c", "d")], trimws).
猜你喜欢
  • 2018-12-27
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多