如何在面板数据集中包含定义总观察值的变量?
How to include variable defining total observations in a panel data set?
这是我正在使用的面板数据集的示例:
library(data.table)
data <- data.table(ID = c(1,1,1,1,1,2,2,2,2),
crop = c(1,2,3,4,5,1,2,3,4))
ID, crop
1, 1
1, 2
1, 3
1, 4
1, 5
2, 1
2, 2
2, 3
2, 4
有几个 ID
变量,每个变量根据它们拥有的 crop
的数量具有不同数量的观察值(行)。
我想创建一个额外的变量来显示 ID
拥有的观察总数。所需的输出如下所示:
ID, crop, total
1, 1, 5
1, 2, 5
1, 3, 5
1, 4, 5
1, 5, 5
2, 1, 4
2, 2, 4
2, 3, 4
2, 4, 4
在 R 中使用 data.table
可以做到这一点吗?
你可以使用
library(data.table)
data[, total := .N, by = ID]
这个returns
ID crop total
1: 1 1 5
2: 1 2 5
3: 1 3 5
4: 1 4 5
5: 1 5 5
6: 2 1 4
7: 2 2 4
8: 2 3 4
9: 2 4 4
这是我正在使用的面板数据集的示例:
library(data.table)
data <- data.table(ID = c(1,1,1,1,1,2,2,2,2),
crop = c(1,2,3,4,5,1,2,3,4))
ID, crop
1, 1
1, 2
1, 3
1, 4
1, 5
2, 1
2, 2
2, 3
2, 4
有几个 ID
变量,每个变量根据它们拥有的 crop
的数量具有不同数量的观察值(行)。
我想创建一个额外的变量来显示 ID
拥有的观察总数。所需的输出如下所示:
ID, crop, total
1, 1, 5
1, 2, 5
1, 3, 5
1, 4, 5
1, 5, 5
2, 1, 4
2, 2, 4
2, 3, 4
2, 4, 4
在 R 中使用 data.table
可以做到这一点吗?
你可以使用
library(data.table)
data[, total := .N, by = ID]
这个returns
ID crop total
1: 1 1 5
2: 1 2 5
3: 1 3 5
4: 1 4 5
5: 1 5 5
6: 2 1 4
7: 2 2 4
8: 2 3 4
9: 2 4 4