Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 数据帧中列的条件更改_R_Dataframe_If Statement - Fatal编程技术网

R 数据帧中列的条件更改

R 数据帧中列的条件更改,r,dataframe,if-statement,R,Dataframe,If Statement,如果已经有人问过我,我会提前道歉,但我已经尝试过不同的尝试,到目前为止没有任何效果 我有一个数据框数据,包含空气污染的测量值。“测量单位”和“不确定度单位”列显示,大多数测量值以“mol/L”表示,但其中一些测量值以“mol/mL”表示 在开始任何分析之前,我想使用一个简单的函数来更改以mol/mL表示的每个值,当然,还要更改“mol/L”中的关联字符“mol/mL”。这应该是这样的(但我想使用dplyr或tidyverse有很多简单的方法) : #第一步 如果(Data$Measuring.U

如果已经有人问过我,我会提前道歉,但我已经尝试过不同的尝试,到目前为止没有任何效果

我有一个数据框
数据
,包含空气污染的测量值。“测量单位”和“不确定度单位”列显示,大多数测量值以“mol/L”表示,但其中一些测量值以“mol/mL”表示

在开始任何分析之前,我想使用一个简单的函数来更改以mol/mL表示的每个值,当然,还要更改“mol/L”中的关联字符“mol/mL”。这应该是这样的(但我想使用
dplyr
tidyverse
有很多简单的方法) :

#第一步
如果(Data$Measuring.Unit==“mol/mL”){Data$Concentration您可以尝试:

Data$Concentration <- ifelse(Data$Measuring.Unit == "mol/mL",Data$Concentration * 1000,Data$Concentration)

Data$Uncertainty <- ifelse(Data$Uncertainty.Unit == "mol/mL",Data$Uncertainty * 1000,Data$Uncertainty)
Data$Concentration
# First step
      if (Data$Measuring.Unit == "mol/mL")  {Data$Concentration <- Data$Concentration * 1000 } 
       else {Data$Concentration <- Data$Concentration } 

       if (Data$Uncertainty.Unit == "mol/mL")  {Data$Uncertainty <- Data$Uncertainty * 1000 } 
       else {Data$Uncertainty <- Data$Uncertainty} 

# Second step
Data$Measuring.Unit[Data$Measuring.Unit == 'mol/mL'] <- 'mol/L'
Data$Uncertainty.Unit[Data$Uncertainty.Unit == 'mol/mL'] <- 'mol/L'
Data$Concentration <- ifelse(Data$Measuring.Unit == "mol/mL",Data$Concentration * 1000,Data$Concentration)

Data$Uncertainty <- ifelse(Data$Uncertainty.Unit == "mol/mL",Data$Uncertainty * 1000,Data$Uncertainty)
Data$Measuring.Unit[Data$Measuring.Unit == 'mol/mL'] <- 'mol/L'
Data$Uncertainty.Unit[Data$Uncertainty.Unit == 'mol/mL'] <- 'mol/L'