我正在尝试对面板数据集进行子集化,以仅读取每个“区域”的前 855 个观察值。区域列有 65 个不同的区域,每个区域有 1070 个观测值。由此,我想减少数据集以包含所有 65 个区域,但只有它们的前 855 个观察值(相应地减少所有其他变量)。
Region Week VolSales UnitSales BaseVol BaseUnits
1065 Los Angeles 02/01/2011 2004.80 2166.18 1921.53 1934.84
1066 Los Angeles 02/01/2011 1949.03 1479.03 1700.07 1700.07
1067 Los Angeles 02/01/2011 5231.11 5904.96 4846.51 4811.38
1068 Los Angeles 02/01/2011 6267.45 6524.85 4675.77 4328.05
1069 Los Angeles 02/01/2011 2317.29 2180.61 1795.83 1019.11
1070 Los Angeles 02/01/2011 3433.70 3493.10 1729.77 2179.09
我能得到的最接近的方法是使用新变量为每个区域定义数据,然后对其进行子集化,如下所示:
R1 <- subset(data, data$Region == "Los Angeles")
R2 <- subset(data, data$Region == "Chicago")
等等....然后服用
Sample1 <- R1[1:855]
Sample2 <- R2[1:855]
然后将其组合形成整个数据集并根据 Regions 进行排列(如原始数据集中的排列)
FinalDataset <- cbind(Sample1,Sample2
)
但是,当然,这不是一种有效的方法,我期待得到一些帮助来更有效地完成它。我希望我正确地解释了这个问题。