在R中计算日期(作为一个类)

时间:2017-01-06 16:34:50

标签: r

我们假设我在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")

我的目标是计算&#34;颜色&#34;中每个变量的日期数(作为一个类 - 不是单独的)。柱。所以,结果看起来像这样:

#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 个答案:

答案 0 :(得分:2)

或在基地R:

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

答案 1 :(得分:1)

我们可以使用data.table

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

答案 2 :(得分:0)

使用tidyverse中的dplyr包:

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