我有一个数据集,其中包含一些跨不同商店的8种除臭剂品牌的观察数据(数据是虚构的)。观察到的数据是:
对我来说,表示此数据的最合乎逻辑的方法是将上面列出的每个变量组织在一个列中,其中每一行对应一个观察值。但是,我得到的数据文件显示如下:
该品牌没有变量列,而是所有其他变量都“分散”在品牌上,即:存在一个名为“ DOVESales”的列,该列中的每个元素都是该产品的销售额鸽子除臭剂在这个特定的时间点。还有一个名为“ DOVEPrice”的列,其中该列的每个元素都是该星期内鸽子除臭剂的价格,等等。
我试图使用tidyr collect()函数将宽数据转换为长数据,并使用以下代码:
df <- df.raw %>% gather(Brand, Sales, 2:10) %>%
gather(Brand, Price, 2:10) %>%
gather(Brand, RPrice, 2:10) %>%
gather(Brand, Display, 2:10) %>%
gather(Brand, Feature, 2:10) %>%
gather(Brand, DisplayFeature, 2:10) %>%
View()
但是我的数据框将包含十亿行以上,并且文件太大而无法打开。有谁知道整理这种数据的正确方法是什么?