【问题标题】:Creating a new variable that counts the # of duplicate values from another variable in R创建一个新变量,计算来自 R 中另一个变量的重复值的数量
【发布时间】:2016-03-17 19:10:29
【问题描述】:

我正在尝试在 R 中创建一个新变量,该变量根据另一个变量中的重复值为每个观察值提供唯一(有序)数值。我已经把数据的样子和我想要的样子放在下面。任何人都可以帮忙吗?

name <- c("Alex", "Alex", "Alex", "Bill", "Bill", "Cathy")
purchase <- c("hat", "bag", "book", "bag", "book", "book")
individual_purchase_No <- c(1, 2, 3, 1, 2, 1)

数据是什么样子的:

purchase.data <- data.frame(name, purchase)

我希望数据是什么样的:

purchase_order.data <- data.frame(name, purchase, individual_purchase_No)

【问题讨论】:

    标签: r count dataframe unique


    【解决方案1】:

    您可以使用dplyr

    library(dplyr)
    purchase.data %>% group_by(name) %>%
                      mutate(individual_purchase_No = 1:n())
    ## Source: local data frame [6 x 3]
    ## Groups: name [3]
    ## 
    ##     name purchase individual_purchase_No
    ##   (fctr)   (fctr)                  (int)
    ## 1   Alex      hat                      1
    ## 2   Alex      bag                      2
    ## 3   Alex     book                      3
    ## 4   Bill      bag                      1
    ## 5   Bill     book                      2
    ## 6  Cathy     book                      1
    

    一个基本的 R 解决方案例如:

    purchase.data$individual_purchase_No <- sequence(table(purchase.data$name))
    

    表格计算每个名字的出现次数,然后序列为每个数字n创建序列1:n

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 2020-04-25
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      相关资源
      最近更新 更多