r中数据帧中的条件转换数据

r中数据帧中的条件转换数据,r,R,我正在尝试根据条件更改我的数据帧(名称icorr)。我想对数据框中的所有项执行此操作。我对r很陌生,尝试了以下方法: if(icorr<0.01) {icorr <- "***" } else if(icorr<0.05) {icorr <- "**" } else if(icorr<0.1) {icorr <- "*" } else {icorr <- NA} if(icorr您可以尝试 icorr <- ifelse(icor

我正在尝试根据条件更改我的数据帧(名称icorr)。我想对数据框中的所有项执行此操作。我对r很陌生,尝试了以下方法:

if(icorr<0.01) {icorr <- "***"
  } else if(icorr<0.05) {icorr <- "**"
  } else if(icorr<0.1) {icorr <- "*"
  } else {icorr <- NA}
if(icorr您可以尝试

  icorr <- ifelse(icorr<0.01, "***", 
                  ifelse(icorr<0.05, "**", 
                         ifelse( icorr<0.1, "*", NA)))
icorr你可以试试

  icorr <- ifelse(icorr<0.01, "***", 
                  ifelse(icorr<0.05, "**", 
                         ifelse( icorr<0.1, "*", NA)))

icorr您应该告诉R选择适合您条件的行

例如:

 icorr[icorr < 0.01] <- "***"

icorr[icorr<0.01]您应该告诉R选择适合您的条件的行

例如:

 icorr[icorr < 0.01] <- "***"

icorr[icorr<0.01]您可以使用
findInterval

icorr <- c(0.002, 0.05, 0.06, 0.07, 0.1, 0.2, 0.02, 0.3, 0.03,0.049)
c("***","**", "*", NA)[findInterval(icorr, c(-Inf,0.01, 0.05, 0.1, Inf))]
#[1] "***" "*"   "*"   "*"   NA    NA    "**"  NA    "**"  "**" 

icorr您可以使用
findInterval

icorr <- c(0.002, 0.05, 0.06, 0.07, 0.1, 0.2, 0.02, 0.3, 0.03,0.049)
c("***","**", "*", NA)[findInterval(icorr, c(-Inf,0.01, 0.05, 0.1, Inf))]
#[1] "***" "*"   "*"   "*"   NA    NA    "**"  NA    "**"  "**" 

icorr也许你可以使用
cut
?类似于
cut(icorr,c(0,0.01,0.05,0.1,Inf),right=F,include.lost=T,labels=c(“***”,“***”,“***”,NA))
也许你可以使用
cut
?类似于
cut(icorr,c(0,0.01,0.05,0.1,Inf),right=F,include.lost=T,labels=c(“***”,NA))