【问题标题】:R function for adding a column in a dataframe by using other three columnsR函数用于通过使用其他三列在数据框中添加一列
【发布时间】:2020-08-24 13:02:40
【问题描述】:

我有一个包含许多列的数据框,其中三个(北、南、西)我将合并到一个新变量(位置)中。对于每个变量,如果观测值在该区域,则它们的值为 1,否则为 0(即,如果一个变量的值为 1,则其他两个变量的值为 0)。 在新变量“位置”中,我将通过在每一行中放置标签“NC”、“S”、“W”来合并三个变量,当它们的值为 1 或“E”时,如果同一行中的所有变量都被赋值0。 变量“位置”应该是初始数据帧的新变量(因子)。

我该怎么做?

【问题讨论】:

    标签: r dataframe merge


    【解决方案1】:

    您可以使用dpylr 根据条件添加新列。

    # create data
    dat <- data.frame("northcen" = c(0, 0, 0, 1, 0, 0), "south" = c(1, 0, 0, 0, 1, 0), "west" = c(0, 1, 1, 0, 0, 0))
    
    # add the new column
    dat_new <- dat %>%
      mutate(location = case_when(northcen == 1 ~ "NC",
                                  south == 1 ~ "S",
                                  west == 1 ~ "W",
                                  TRUE ~ "E"))
    

    这能回答你的问题吗?

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      相关资源
      最近更新 更多