我有以下面板數據獲得觀測的描述性統計與年完整數據的中的R
id year Value
1 1 50
2 1 55
2 2 40
3 1 48
3 2 54
3 3 24
4 2 24
4 3 57
4 4 30
我想獲得的年,其中觀測有例如可用信息,數字的描述性統計:個人只用一年的信息是1的數量,個人只用兩年的信息的數量是一個,而用三年時間的可用信息的個體數量爲2
我有以下面板數據獲得觀測的描述性統計與年完整數據的中的R
id year Value
1 1 50
2 1 55
2 2 40
3 1 48
3 2 54
3 3 24
4 2 24
4 3 57
4 4 30
我想獲得的年,其中觀測有例如可用信息,數字的描述性統計:個人只用一年的信息是1的數量,個人只用兩年的信息的數量是一個,而用三年時間的可用信息的個體數量爲2
基礎R使用table
和它的速度更快表妹tabulate
:
table(tabulate(dat$id))
1 2 3
1 1 2
或
table(table(dat$id))
轉換爲data.frame:
data.frame(table(tabulate(dat$id)))
Var1 Freq
1 1 1
2 2 1
3 3 2
lapply(split(df$id, ave(df$year, df$id, FUN = length)), function(x) length(unique(x)))
#$`1`
#[1] 1
#$`2`
#[1] 1
#$`3`
#[1] 2
我們可以使用data.table
。將'data.frame'轉換爲'data.table'(setDT(df1)
),按'id'分組,得到'year'的唯一編號長度,按該列分組,得到行數(.N
)
library(data.table)
setDT(df1)[, uniqueN(year), .(id)][, .N, V1]
# V1 N
#1: 1 1
#2: 2 1
#3: 3 2
你能分享你想要的輸出嗎? – www