首页 文章

在R [重复]中计算日期(作为一个类)

提问于
浏览
-1

这个问题在这里已有答案:

假设我在R中有一个简单的数据框,如下所示:

#example data frame
a = c("red","red","green")
b = c("01/01/1900","01/02/1950","01/05/1990")
df = data.frame(a,b)
colnames(df)<-c("Color","Dates")

我的目标是计算“颜色”列中每个变量的日期数(作为一个类 - 而不是单独) . 所以,结果看起来像这样:

#output should look like this:
a = c("red","green")
b = c("2","1")
df = data.frame(a,b)
colnames(df)<-c("Color","Dates")

Red与两个日期相关联 - 日期本身并不重要,我只想计算数据框中每种颜色的总日期数 .

3 回答

  • 2

    我们可以用 data.table

    library(data.table)
    setDT(df)[, .(Dates = uniqueN(Dates)) , Color]
    #   Color Dates
    #1:   red     2
    #2: green     1
    
  • 0

    或者在基地R:

    sapply(split(df, df$Color), nrow)
    # green   red 
    #     1     2
    
  • 1

    使用tidyverse的 dplyr 包:

    library(dplyr)
    df %>% group_by(Color) %>% summarise(n())
    # # A tibble: 2 × 2
    #    Color `n()`
    #   <fctr> <int>
    # 1  green     1
    # 2    red     2
    

相关问题