R-使用if语句对行进行迭代
我正在慢慢地自学R,有着非常基本的编程背景。制作绘图等相对简单,但我目前正在编写一小段代码,目的是构建一个更大的脚本,使商业实验室结果的处理变得不那么繁重-这些文件通常以非常混乱的CSV文件发布,并混合了不同的集中度单位 因此,我试图生成一个代码块,它遍历CSV文件中包含四列标题的行:“分析物”、“单位”、“LOD”和“浓度”。我打算让我的代码检查每个分析物使用的单位,如果单位为mg/l,则将该分析物的浓度转换为ug/l:R-使用if语句对行进行迭代,r,iteration,R,Iteration,我正在慢慢地自学R,有着非常基本的编程背景。制作绘图等相对简单,但我目前正在编写一小段代码,目的是构建一个更大的脚本,使商业实验室结果的处理变得不那么繁重-这些文件通常以非常混乱的CSV文件发布,并混合了不同的集中度单位 因此,我试图生成一个代码块,它遍历CSV文件中包含四列标题的行:“分析物”、“单位”、“LOD”和“浓度”。我打算让我的代码检查每个分析物使用的单位,如果单位为mg/l,则将该分析物的浓度转换为ug/l: input_file <- read.csv(file="test
input_file <- read.csv(file="test.csv", header = TRUE,sep = ",")
apply(input_file, 1, function(row) {
if (input_file$Unit == "mg/l"){
input_file$Concentration <- input_file$Concentration*1000
}
}
)
print(input_file)
input\u file我相信这就是你想要做的:
apply(input_file, 1, function(row) {
if (row$Unit == "mg/l"){
row$Concentration <- row$Concentration*1000
}
})
也许,input_file[input_file$Unit==“mg/l”,]$Concentration@symbolx我的想法,谢谢你的评论。
input_file[input_file$Unit == "mg/l", "Concentration"] <-
input_file[input_file$Unit == "mg/l", "Concentration"]*1000