我有一个数据集样本,需要转换为宽格式,但我有一个特定问题,尚未在 StackOveflow 上看到解决。
我想用来制作长数据集的列对于每一行都有唯一的值,但我想创建一个新的数据集,以便每个 idvar 的 n 个属性有 n 个变量。
我需要转换这个:
state sector attribute_value
alabama 1 a
alabama 1 b
alabama 1 c
alabama 1 d
alabama 1 e
alabama 1 f
alabama 1 g
alabama 1 h
alaska 1 i
alaska 1 j
alaska 1 k
alaska 1 l
alaska 1 m
alaska 1 n
alaska 1 o
arizona 1 p
arizona 1 q
arizona 1 r
arizona 1 s
arizona 1 t
arizona 1 u
arizona 1 v
into:
state sector attribute_value_1 attribute_value_2 attribute_value_3 attribute_value_4 attribute_value_5 attribute_value_6 attribute_value_7 attribute_value_8
alabama 1 a b c d e f g h
alaska 1 i j k l m n o n/a
arizona 1 p q r s t u v n/a
到目前为止,我还无法使用 dcast 或 reshape 来创建这个特定的转换。
With:
library(data.table)
dcast(setDT(df),
state + sector ~ rowid(state, prefix = 'attr_val_'),
value.var = 'attribute_value')
you get:
state sector attr_val_1 attr_val_2 attr_val_3 attr_val_4 attr_val_5 attr_val_6 attr_val_7 attr_val_8
1: alabama 1 a b c d e f g h
2: alaska 1 i j k l m n o NA
3: arizona 1 p q r s t u v NA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)