我们假设我在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与两个日期相关联 - 日期本身并不重要,我只想计算数据框中每种颜色的总日期数。
答案 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