【问题标题】:Adding multiple variables into a loop将多个变量添加到循环中
【发布时间】:2018-08-20 09:24:29
【问题描述】:

我只做了大约三个小时的 R,所以请耐心等待!

我已将 csv 导入 R Studio。输入数据集是模型输出,在某些列中有一些字符“n/a”值。我已经编写了这段代码(请告诉我是否可以做得更好)导入数据,在删除“n/a”值后将列转换为数字,而不是运行直方图:

Run_name <- " NA NA"

infile <- paste0("P:/installed-packages",Run_name,".csv")
installed_packages <- read.csv(infile)
View(installed_packages)

installed_packages$net.costs..After. <- as.numeric(replace(installed_packages$net.costs..After.,installed_packages$net.costs..After.=="n/a", NA))


hist(installed_packages$net.costs..After.)

下一阶段将使用循环包含多个变量名称来代替变量net.costs..After.,因为其他变量将包含这些“n/a”值。理想情况下,这将是一个变量名表,但现在一个变量名的类型列表将是朝着正确方向迈出的一步。

关于这样做或改进此过程的任何提示?

【问题讨论】:

    标签: r loops


    【解决方案1】:

    最简单的解决方案是在读取数据时指定NA 字符串:

    installed_packages <- read.csv(infile, na.strings = "n/a")
    

    如果你想把你的解决方案变成一个循环,你可以使用:

    for (col_ in c("net.costs..After.", "col2", "col3")){
      installed_packages[, col_] <- as.numeric(replace(installed_packages[, col_], installed_packages[, col_]=="n/a", NA))
    }
    

    其中c("net.costs..After.", "col2", "col3") 是包含列名称的向量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多