想要将唯一值转换为第一/第二/第三变量 [英] Want to cast unique values into first/second/third variables

查看:75
本文介绍了想要将唯一值转换为第一/第二/第三变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个需要转换为宽格式的数据集示例,但是我有一个尚未在StackOveflow上解决的特殊问题。

I have a sample of a dataset that needs to be cast into a wide format, but I have a particular issue that I haven't seen addressed on StackOveflow yet.

我想用来制作长数据集的列的每一行都有唯一的值,但是我想创建一个新的数据集,以便每个idvar的n个属性的n个变量。

The column that I'd like to use to make a long dataset has unique values for every single row, but I want to create a new dataset so that are n variables for n attributes for each idvar.

我需要转换为:

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

进入:

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或重塑来创建此特定转换。

So far, I haven't been able to use dcast or reshape to create this particular transformation.

推荐答案

使用:

library(data.table)
dcast(setDT(df),
      state + sector ~ rowid(state, prefix = 'attr_val_'),
      value.var = 'attribute_value')

您将获得:

     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

这篇关于想要将唯一值转换为第一/第二/第三变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆