• R语言已解决
  • [已解决] 对数据框进行有条件替换用那个函数可行。

数据如下所示

my_data <- data.frame(
  ID = paste('2019-',1:10,'-FB'),
  con = c(rep(c('沙门氏菌','副溶血性弧菌','大肠杆菌'),each = 3),'/')
)

查看数据

my_data

现在要做的是,查找ID为‘2019- 10 -FB’,将该行con的/替换为'沙门氏菌'.
试了recode,replace都不行。

    试了许多方法,可行的方法是用which()找到要修改内容的行号再进行修改

    which(my_data$ID == '2019- 10 -FB' )
    my_data[10,2] <- '大肠杆菌'
    my_data

      maodao 用这个

      transform(my_data, con = ifelse(ID == "2019- 10 -FB", "沙门氏菌", con ))

      来一个tidyverse版本

      library(tidyverse)
      my_data_new <- my_data %>%
        mutate(con = as.character(con)) %>%
        mutate(con = ifelse(ID == '2019- 10 -FB', '沙门氏菌', con))

      maodao
      my_data$con[my_data$ID == "2019- 10 -FB"] <- "沙门氏菌"

      or

      dt <- data.table::as.data.table(my_data)
      dt[ID == "2019- 10 -FB", con := "沙门氏菌"]
      1 个月 后

      replace也可以

      library(dplyr)
      my_data_new <- my_data %>%
        mutate(con = replace(con,ID == '2019- 10 -FB', '沙门氏菌'))
      Jonie_Y 更改标题为「[已解决] 对数据框进行有条件替换用那个函数可行。
      7 天 后