我只做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”值。理想情况下,这将是一个变量名表,但就目前而言,键入变量名列表将是朝着正确方向迈出的一步。
有关此操作或改进此过程的方式的任何提示吗?
答案 0 :(得分:0)
最简单的解决方案是在读取数据时指定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")
是包含列名称的向量。