【问题标题】:How to manually enter a cell in a dataframe? [duplicate]如何在数据框中手动输入单元格? [复制]
【发布时间】:2023-04-02 22:40:01
【问题描述】:

这是我的数据框:

county          state   cases deaths  FIPS
Abbeville   South Carolina   4      0 45001
Acadia      Louisiana        9      1 22001
Accomack    Virginia         3      0 51001
New York C  New York         2      0 NA
Ada         Idaho           113     2 16001
Adair       Iowa             1      0 19001

我想手动将“55555”放入 NA 单元格。我的实际 df 是数千行,并且 NA 的行会根据一天发生变化。我想根据县添加。有没有办法说df[df$county == "New York C",] <- df$FIPS = "55555" 或类似的东西?我不想根据列号或行号进行插入,因为它们会发生变化。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    这会将55555 放入FIPS 列中的NA 单元格中,其中countryNew York C

    df$FIPS[is.na(df$FIPS) & df$county == "New York C"] <- 55555
    

    输出

    df
    
    #   county     state          cases deaths FIPS 
    # 1 Abbeville  South Carolina     4      0 45001
    # 2 Acadia     Louisiana          9      1 22001
    # 3 Accomack   Virginia           3      0 51001
    # 4 New York C New York           2      0 55555
    # 5 Ada        Idaho            113      2 16001
    # 6 Adair      Iowa               1      0 19001
    # 7 New York C New York           1      0 18000
    

    数据

    df
    
    #   county     state          cases deaths  FIPS
    # 1 Abbeville  South Carolina     4      0 45001
    # 2 Acadia     Louisiana          9      1 22001
    # 3 Accomack   Virginia           3      0 51001
    # 4 New York C New York           2      0    NA
    # 5 Ada        Idaho            113      2 16001
    # 6 Adair      Iowa               1      0 19001
    # 7 New York C New York           1      0 18000
    

    【讨论】:

      【解决方案2】:

      您可以使用 &amp; (and) 替换满足两个所需条件的 de df$FIPS 条目。

      df$FIPS[is.na(df$FIPS) & df$state=="New York"]<-5555
      

      【讨论】:

        【解决方案3】:

        如果您想根据多个条件更改值,我会选择dplyr::mutate()

        library(dplyr)
        df <- df %>%
          mutate(FIPS = ifelse(is.na(FIPS) & county == "New York C", 55555, FIPS))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-11
          • 1970-01-01
          • 2014-04-08
          • 1970-01-01
          • 2018-03-07
          相关资源
          最近更新 更多