【问题标题】:How to reshape conjoint data from wide to long?如何将联合数据从宽到长重塑?
【发布时间】:2021-04-23 06:36:39
【问题描述】:

用户,

我收到了来自联合调查实验的数据。我想做的是从宽格式到长格式重塑。但是,这似乎有点复杂。我很确定可以使用cj_tidy(包cregg)但自己无法解决。

在调查中,受访者被要求比较两个在 7 个概况效率 开放性 包容性 em> Leader Gain & System)。总共向受访者提供了四个比较。所以 2 个组织和 4 个比较 (4x2)。他们必须从所提供的组织中选择一个,并在选择一个后分别对其进行评分。

目前,配置文件变量的结构如下:org1_Efficiency_conj_1、org1_Opennes_conj1 ..etc。第一部分“org”表示它是第一组织还是第二组织。最后一部分“conj”,表示联合/比较的顺序,其中“conj4”是最后一个比较。 CHOICE 变量也遵循联合的顺序——例如,“CHOICE_conj1”、“CHOICE_conj2”,其中=1 表示受访者选择了“org1”。如果 =2,则选择 org2。 RATING> 变量表示每个组织的 0 到 10 的值:RATING_conj1_org1; RATING_conj1_org2 等。

当前的宽格式数据不适合联合分析 - 我需要为每个受访者 (4x2=8) 创建 8 个观察值,其中变量 CHOICE 将指示哪些组织被选中(如果是,则 =1;如果不是,则 =0)。以类似的方式,变量 RATING 应表示受访者对两个组织的评分(0 到 10)。

这就是我希望数据的样子:

请注意,图中还有 Q1 和 Q2 等协变量,它们不是实验的一部分,对于每个单独的观察都应该保持不变。

下面我分享我的真实数据中的 50 个观察结果。

    > dput(cjdata_wide) structure(list(ID = 1:50, org1_Effeciency_conj_1 =
    > c(3L, 2L,  1L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 2L, 1L, 1L, 1L, 1L, 1L, 3L,
    > 2L,  3L, 3L, 3L, 2L, 3L, 1L, 2L, 1L, 3L, 3L, 1L, 1L, 3L, 1L, 1L, 3L, 
    > 3L, 2L, 3L, 2L, 3L, 2L, 1L, 1L, 3L, 2L, 1L, 1L, 1L, 2L, 2L, 1L ),
    > org1_Oppenes_conj_1 = c(3L, 3L, 1L, 3L, 1L, 3L, 2L, 3L, 2L,  3L, 1L,
    > 1L, 1L, 2L, 3L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 1L, 3L, 3L,  3L, 1L, 3L,
    > 1L, 2L, 2L, 3L, 2L, 2L, 1L, 3L, 1L, 3L, 2L, 2L, 1L,  2L, 3L, 3L, 3L,
    > 3L, 3L, 2L, 3L, 1L), org1_Inclusion_conj_1 = c(2L,  1L, 1L, 2L, 2L,
    > 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 1L,  2L, 1L, 1L, 1L, 1L,
    > 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L,  1L, 1L, 1L, 1L, 1L, 1L,
    > 1L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L,  2L), org1_Leader_conj_1 =
    > c(5L, 6L, 3L, 6L, 1L, 4L, 2L, 6L, 1L,  6L, 1L, 2L, 2L, 6L, 3L, 2L, 6L,
    > 3L, 5L, 6L, 3L, 1L, 4L, 3L, 5L,  5L, 2L, 1L, 4L, 1L, 3L, 4L, 2L, 3L,
    > 5L, 2L, 1L, 3L, 3L, 2L, 1L,  4L, 1L, 5L, 2L, 6L, 1L, 4L, 2L, 3L),
    > org1_Gain_conj_1 = c(4L,  4L, 1L, 3L, 3L, 8L, 3L, 2L, 6L, 5L, 1L, 6L,
    > 3L, 8L, 1L, 3L, 6L,  2L, 2L, 5L, 5L, 3L, 4L, 8L, 6L, 4L, 5L, 6L, 6L,
    > 8L, 4L, 4L, 5L,  7L, 6L, 7L, 3L, 7L, 8L, 2L, 6L, 4L, 6L, 4L, 8L, 4L,
    > 6L, 4L, 3L,  6L), org1_System_conj_1 = c(5L, 4L, 5L, 1L, 4L, 4L, 5L,
    > 1L, 2L,  2L, 4L, 3L, 1L, 4L, 4L, 2L, 3L, 3L, 2L, 4L, 3L, 1L, 4L, 3L,
    > 1L,  1L, 5L, 3L, 1L, 3L, 5L, 4L, 5L, 3L, 2L, 4L, 1L, 2L, 3L, 4L, 1L, 
    > 1L, 3L, 5L, 5L, 5L, 1L, 1L, 5L, 3L), org2_Effeciency_conj_1 = c(2L, 
    > 1L, 3L, 2L, 1L, 3L, 1L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 2L, 2L,  1L,
    > 2L, 2L, 2L, 3L, 1L, 3L, 1L, 3L, 2L, 1L, 2L, 2L, 1L, 2L, 3L,  1L, 2L,
    > 1L, 1L, 3L, 2L, 1L, 3L, 3L, 2L, 3L, 3L, 2L, 2L, 3L, 3L,  3L),
    > org2_Oppenes_conj_1 = c(1L, 1L, 3L, 1L, 3L, 1L, 1L, 2L,  3L, 2L, 3L,
    > 3L, 2L, 1L, 1L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  1L, 2L, 3L, 1L,
    > 2L, 3L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 3L, 1L,  2L, 3L, 1L, 1L, 1L,
    > 2L, 1L, 1L, 1L, 3L), org2_Inclusion_conj_1 = c(1L,  2L, 2L, 1L, 1L,
    > 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 2L,  1L, 2L, 2L, 2L, 2L,
    > 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L,  2L, 2L, 2L, 2L, 2L, 2L,
    > 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L,  1L), org2_Leader_conj_1 =
    > c(4L, 5L, 6L, 3L, 2L, 5L, 1L, 3L, 6L,  2L, 4L, 6L, 6L, 5L, 6L, 4L, 1L,
    > 2L, 4L, 2L, 4L, 6L, 5L, 6L, 4L,  1L, 3L, 5L, 3L, 5L, 6L, 1L, 6L, 4L,
    > 1L, 3L, 4L, 2L, 1L, 3L, 4L,  3L, 5L, 2L, 4L, 4L, 3L, 3L, 4L, 2L),
    > org2_Gain_conj_1 = c(5L,  1L, 6L, 5L, 8L, 6L, 4L, 3L, 8L, 8L, 7L, 7L,
    > 7L, 5L, 7L, 7L, 2L,  6L, 7L, 7L, 6L, 8L, 3L, 1L, 8L, 2L, 6L, 2L, 5L,
    > 6L, 7L, 1L, 7L,  2L, 2L, 5L, 8L, 6L, 2L, 7L, 8L, 7L, 1L, 8L, 4L, 3L,
    > 4L, 7L, 7L,  7L), org2_System_conj_1 = c(3L, 3L, 3L, 4L, 3L, 3L, 3L,
    > 5L, 4L,  4L, 1L, 4L, 3L, 1L, 5L, 5L, 5L, 4L, 3L, 3L, 4L, 4L, 1L, 5L,
    > 5L,  3L, 4L, 2L, 5L, 2L, 2L, 5L, 3L, 4L, 3L, 5L, 5L, 5L, 5L, 2L, 3L, 
    > 4L, 2L, 1L, 3L, 3L, 2L, 4L, 4L, 2L), org1_Effeciency_conj_2 = c(2L, 
    > 1L, 2L, 3L, 3L, 2L, 1L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L, 3L, 2L,  3L,
    > 3L, 1L, 2L, 1L, 2L, 3L, 2L, 3L, 3L, 3L, 2L, 2L, 2L, 3L, 2L,  1L, 2L,
    > 1L, 1L, 3L, 1L, 3L, 1L, 2L, 3L, 3L, 1L, 2L, 1L, 2L, 3L,  3L),
    > org1_Oppenes_conj_2 = c(1L, 3L, 2L, 1L, 2L, 3L, 3L, 2L,  1L, 3L, 3L,
    > 2L, 1L, 2L, 3L, 3L, 1L, 1L, 1L, 2L, 1L, 3L, 1L, 3L,  2L, 1L, 3L, 2L,
    > 3L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 1L, 2L, 3L, 2L,  1L, 1L, 1L, 1L, 1L,
    > 1L, 3L, 3L, 2L, 3L), org1_Inclusion_conj_2 = c(2L,  1L, 1L, 2L, 1L,
    > 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L,  2L, 1L, 2L, 2L, 2L,
    > 2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L,  1L, 2L, 1L, 2L, 2L, 2L,
    > 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L,  2L), org1_Leader_conj_2 =
    > c(3L, 3L, 2L, 2L, 5L, 5L, 6L, 2L, 2L,  1L, 6L, 5L, 2L, 1L, 2L, 4L, 5L,
    > 4L, 3L, 6L, 4L, 1L, 5L, 3L, 1L,  5L, 5L, 4L, 6L, 6L, 5L, 6L, 5L, 4L,
    > 4L, 6L, 3L, 4L, 6L, 2L, 4L,  4L, 1L, 4L, 4L, 3L, 3L, 1L, 4L, 4L),
    > org1_Gain_conj_2 = c(3L,  1L, 7L, 7L, 2L, 1L, 8L, 1L, 2L, 7L, 5L, 4L,
    > 4L, 3L, 6L, 3L, 1L,  1L, 8L, 3L, 4L, 3L, 3L, 5L, 4L, 3L, 4L, 8L, 6L,
    > 8L, 3L, 1L, 8L,  5L, 6L, 3L, 3L, 6L, 7L, 1L, 3L, 6L, 5L, 7L, 6L, 6L,
    > 3L, 4L, 2L,  6L), org1_System_conj_2 = c(5L, 1L, 5L, 1L, 4L, 3L, 3L,
    > 4L, 2L,  1L, 5L, 3L, 5L, 3L, 4L, 2L, 2L, 3L, 4L, 1L, 1L, 4L, 3L, 4L,
    > 3L,  2L, 1L, 1L, 4L, 5L, 2L, 3L, 5L, 3L, 5L, 2L, 4L, 2L, 1L, 5L, 5L, 
    > 1L, 2L, 2L, 5L, 2L, 4L, 3L, 2L, 3L), org2_Effeciency_conj_2 = c(3L, 
    > 3L, 1L, 2L, 2L, 1L, 3L, 1L, 3L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 3L,  1L,
    > 2L, 3L, 3L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 2L, 3L,  3L, 3L,
    > 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L,  1L),
    > org2_Oppenes_conj_2 = c(2L, 2L, 1L, 3L, 1L, 1L, 1L, 1L,  3L, 2L, 2L,
    > 3L, 3L, 1L, 2L, 1L, 2L, 3L, 3L, 3L, 3L, 2L, 3L, 1L,  1L, 3L, 1L, 3L,
    > 2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 2L, 3L,  2L, 2L, 2L, 2L, 2L,
    > 2L, 2L, 1L, 1L, 2L), org2_Inclusion_conj_2 = c(1L,  2L, 2L, 1L, 2L,
    > 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 1L,  1L, 2L, 1L, 1L, 1L,
    > 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 2L,  2L, 1L, 2L, 1L, 1L, 1L,
    > 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L,  1L), org2_Leader_conj_2 =
    > c(6L, 6L, 1L, 4L, 1L, 4L, 4L, 1L, 4L,  4L, 1L, 3L, 5L, 2L, 1L, 5L, 4L,
    > 6L, 4L, 2L, 3L, 3L, 1L, 4L, 2L,  2L, 6L, 6L, 1L, 5L, 4L, 4L, 1L, 3L,
    > 3L, 4L, 5L, 5L, 3L, 3L, 6L,  3L, 2L, 5L, 2L, 6L, 4L, 2L, 5L, 1L),
    > org2_Gain_conj_2 = c(8L,  5L, 3L, 6L, 8L, 2L, 2L, 2L, 7L, 6L, 4L, 1L,
    > 6L, 7L, 2L, 1L, 2L,  2L, 3L, 2L, 5L, 5L, 4L, 2L, 7L, 2L, 7L, 4L, 7L,
    > 1L, 2L, 5L, 1L,  2L, 7L, 1L, 6L, 2L, 8L, 7L, 7L, 1L, 6L, 3L, 3L, 2L,
    > 5L, 3L, 4L,  2L), org2_System_conj_2 = c(1L, 5L, 3L, 4L, 5L, 1L, 4L,
    > 3L, 4L,  4L, 4L, 5L, 2L, 2L, 1L, 3L, 4L, 4L, 5L, 2L, 5L, 1L, 2L, 1L,
    > 2L,  3L, 3L, 4L, 1L, 3L, 3L, 5L, 4L, 5L, 1L, 5L, 5L, 5L, 4L, 3L, 2L, 
    > 4L, 4L, 3L, 3L, 4L, 3L, 1L, 1L, 2L), org1_Effeciency_conj_3 = c(1L, 
    > 3L, 3L, 1L, 2L, 3L, 3L, 1L, 2L, 3L, 1L, 3L, 3L, 3L, 2L, 3L, 2L,  1L,
    > 1L, 2L, 2L, 3L, 2L, 1L, 3L, 3L, 2L, 3L, 2L, 1L, 2L, 3L, 3L,  1L, 3L,
    > 3L, 2L, 1L, 1L, 1L, 3L, 2L, 3L, 1L, 3L, 3L, 2L, 3L, 3L,  1L),
    > org1_Oppenes_conj_3 = c(2L, 3L, 3L, 3L, 1L, 2L, 1L, 2L,  1L, 2L, 3L,
    > 2L, 3L, 3L, 1L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 1L, 3L,  1L, 3L, 3L, 1L,
    > 3L, 1L, 2L, 3L, 2L, 1L, 3L, 1L, 3L, 1L, 2L, 2L,  2L, 1L, 2L, 2L, 3L,
    > 3L, 2L, 3L, 3L, 3L), org1_Inclusion_conj_3 = c(1L,  1L, 1L, 2L, 1L,
    > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 1L,  2L, 1L, 2L, 2L, 2L,
    > 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 1L, 1L,  2L, 2L, 1L, 2L, 1L, 1L,
    > 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L,  1L), org1_Leader_conj_3 =
    > c(3L, 1L, 5L, 6L, 3L, 2L, 2L, 6L, 4L,  3L, 3L, 2L, 2L, 1L, 2L, 3L, 5L,
    > 6L, 4L, 1L, 2L, 4L, 5L, 1L, 2L,  2L, 2L, 6L, 4L, 6L, 4L, 6L, 1L, 1L,
    > 3L, 5L, 4L, 1L, 3L, 6L, 2L,  6L, 6L, 1L, 2L, 2L, 6L, 2L, 6L, 5L),
    > org1_Gain_conj_3 = c(2L,  7L, 2L, 4L, 6L, 7L, 2L, 4L, 1L, 5L, 5L, 7L,
    > 5L, 7L, 7L, 3L, 2L,  6L, 2L, 5L, 6L, 6L, 7L, 3L, 5L, 6L, 3L, 8L, 1L,
    > 2L, 8L, 5L, 2L,  8L, 5L, 6L, 5L, 2L, 5L, 3L, 3L, 2L, 4L, 2L, 4L, 5L,
    > 7L, 6L, 2L,  7L), org1_System_conj_3 = c(5L, 5L, 1L, 1L, 4L, 3L, 1L,
    > 1L, 2L,  5L, 1L, 5L, 2L, 1L, 5L, 4L, 1L, 1L, 3L, 4L, 5L, 1L, 5L, 3L,
    > 3L,  5L, 1L, 3L, 2L, 5L, 2L, 1L, 5L, 1L, 3L, 2L, 5L, 5L, 2L, 1L, 3L, 
    > 2L, 2L, 4L, 4L, 4L, 2L, 3L, 5L, 4L), org2_Effeciency_conj_3 = c(2L, 
    > 1L, 2L, 2L, 1L, 2L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 2L, 1L, 1L, 1L,  3L,
    > 3L, 1L, 3L, 1L, 1L, 2L, 2L, 1L, 3L, 2L, 1L, 3L, 1L, 1L, 1L,  3L, 1L,
    > 2L, 1L, 2L, 3L, 3L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L,  2L),
    > org2_Oppenes_conj_3 = c(1L, 1L, 1L, 2L, 3L, 3L, 2L, 1L,  3L, 3L, 1L,
    > 3L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 2L,  3L, 1L, 2L, 3L,
    > 1L, 2L, 1L, 1L, 3L, 3L, 1L, 3L, 1L, 2L, 3L, 3L,  3L, 3L, 3L, 1L, 2L,
    > 2L, 1L, 1L, 2L, 1L), org2_Inclusion_conj_3 = c(2L,  2L, 2L, 1L, 2L,
    > 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L,  1L, 2L, 1L, 1L, 1L,
    > 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L,  1L, 1L, 2L, 1L, 2L, 2L,
    > 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L,  2L), org2_Leader_conj_3 =
    > c(1L, 5L, 2L, 1L, 2L, 4L, 4L, 1L, 2L,  4L, 5L, 5L, 5L, 4L, 3L, 4L, 6L,
    > 3L, 2L, 2L, 5L, 2L, 2L, 5L, 5L,  3L, 5L, 3L, 3L, 1L, 5L, 5L, 2L, 2L,
    > 2L, 2L, 1L, 6L, 1L, 5L, 1L,  5L, 1L, 2L, 6L, 6L, 4L, 3L, 2L, 6L),
    > org2_Gain_conj_3 = c(1L,  8L, 3L, 5L, 2L, 6L, 3L, 2L, 7L, 1L, 2L, 2L,
    > 8L, 1L, 2L, 6L, 1L,  8L, 6L, 3L, 7L, 4L, 5L, 2L, 6L, 8L, 2L, 7L, 6L,
    > 8L, 5L, 7L, 3L,  6L, 1L, 8L, 4L, 3L, 7L, 5L, 8L, 8L, 3L, 6L, 3L, 4L,
    > 5L, 4L, 4L,  5L), org2_System_conj_3 = c(4L, 1L, 4L, 3L, 3L, 5L, 3L,
    > 3L, 4L,  2L, 3L, 1L, 1L, 5L, 2L, 3L, 3L, 2L, 5L, 3L, 1L, 2L, 3L, 5L,
    > 1L,  4L, 5L, 2L, 3L, 2L, 3L, 2L, 4L, 3L, 5L, 3L, 1L, 1L, 3L, 2L, 4L, 
    > 5L, 5L, 3L, 1L, 1L, 4L, 1L, 4L, 5L), org1_Effeciency_conj_4 = c(1L, 
    > 1L, 2L, 2L, 3L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 1L, 1L, 2L,  3L,
    > 3L, 1L, 1L, 3L, 1L, 3L, 2L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 1L,  3L, 2L,
    > 3L, 3L, 2L, 3L, 1L, 2L, 2L, 3L, 2L, 1L, 1L, 3L, 3L, 1L,  3L),
    > org1_Oppenes_conj_4 = c(2L, 1L, 2L, 2L, 2L, 3L, 2L, 3L,  2L, 1L, 1L,
    > 1L, 3L, 1L, 3L, 2L, 2L, 3L, 2L, 3L, 1L, 3L, 3L, 1L,  1L, 1L, 3L, 1L,
    > 1L, 1L, 2L, 3L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 3L,  1L, 3L, 3L, 1L, 3L,
    > 3L, 3L, 2L, 3L, 2L), org1_Inclusion_conj_4 = c(2L,  2L, 1L, 2L, 2L,
    > 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L,  2L, 2L, 2L, 2L, 1L,
    > 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L,  1L, 2L, 2L, 1L, 2L, 1L,
    > 2L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L,  1L), org1_Leader_conj_4 =
    > c(4L, 6L, 5L, 1L, 2L, 1L, 1L, 3L, 3L,  6L, 2L, 5L, 6L, 6L, 6L, 2L, 3L,
    > 3L, 4L, 4L, 4L, 1L, 5L, 5L, 2L,  6L, 2L, 5L, 4L, 4L, 2L, 5L, 6L, 5L,
    > 1L, 4L, 4L, 3L, 4L, 2L, 3L,  2L, 5L, 1L, 3L, 6L, 2L, 6L, 4L, 1L),
    > org1_Gain_conj_4 = c(3L,  1L, 2L, 3L, 4L, 7L, 2L, 7L, 4L, 1L, 6L, 3L,
    > 5L, 8L, 3L, 7L, 8L,  1L, 3L, 6L, 7L, 1L, 1L, 1L, 1L, 3L, 4L, 3L, 1L,
    > 8L, 3L, 2L, 1L,  7L, 2L, 4L, 4L, 1L, 6L, 8L, 6L, 3L, 7L, 3L, 8L, 7L,
    > 3L, 1L, 3L,  3L), org1_System_conj_4 = c(5L, 1L, 2L, 3L, 2L, 5L, 5L,
    > 2L, 3L,  5L, 3L, 4L, 5L, 2L, 4L, 2L, 3L, 2L, 4L, 4L, 1L, 1L, 4L, 3L,
    > 2L,  4L, 3L, 1L, 5L, 5L, 2L, 4L, 5L, 4L, 3L, 3L, 1L, 5L, 4L, 1L, 2L, 
    > 3L, 5L, 5L, 3L, 2L, 5L, 2L, 3L, 3L), org2_Effeciency_conj_4 = c(3L, 
    > 3L, 3L, 1L, 1L, 3L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 3L, 2L, 1L,  1L,
    > 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 3L, 2L, 2L, 1L, 3L,  1L, 3L,
    > 2L, 2L, 3L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 3L, 2L, 2L, 3L,  1L),
    > org2_Oppenes_conj_4 = c(1L, 3L, 1L, 3L, 3L, 2L, 3L, 2L,  3L, 2L, 2L,
    > 3L, 2L, 2L, 2L, 1L, 3L, 1L, 3L, 2L, 2L, 1L, 1L, 3L,  3L, 2L, 1L, 3L,
    > 3L, 2L, 3L, 1L, 3L, 3L, 2L, 1L, 3L, 1L, 3L, 1L,  2L, 2L, 1L, 2L, 1L,
    > 1L, 2L, 3L, 1L, 1L), org2_Inclusion_conj_4 = c(1L,  1L, 2L, 1L, 1L,
    > 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 1L,  1L, 1L, 1L, 1L, 2L,
    > 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L,  2L, 1L, 1L, 2L, 1L, 2L,
    > 1L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 1L,  2L), org2_Leader_conj_4 =
    > c(1L, 5L, 2L, 6L, 6L, 6L, 2L, 1L, 2L,  4L, 5L, 3L, 4L, 4L, 2L, 1L, 6L,
    > 1L, 1L, 2L, 6L, 3L, 1L, 4L, 4L,  3L, 3L, 4L, 6L, 5L, 3L, 2L, 3L, 6L,
    > 6L, 5L, 2L, 6L, 3L, 5L, 5L,  1L, 6L, 5L, 4L, 5L, 1L, 2L, 2L, 6L),
    > org2_Gain_conj_4 = c(5L,  8L, 1L, 2L, 7L, 2L, 7L, 8L, 2L, 6L, 7L, 7L,
    > 7L, 5L, 8L, 4L, 6L,  6L, 6L, 4L, 6L, 6L, 7L, 2L, 5L, 6L, 6L, 1L, 8L,
    > 5L, 2L, 5L, 6L,  3L, 3L, 7L, 7L, 8L, 4L, 7L, 5L, 2L, 2L, 7L, 6L, 4L,
    > 7L, 4L, 4L,  1L), org2_System_conj_4 = c(2L, 3L, 3L, 2L, 4L, 4L, 4L,
    > 4L, 1L,  4L, 1L, 2L, 4L, 5L, 2L, 3L, 5L, 1L, 1L, 1L, 5L, 4L, 2L, 2L,
    > 3L,  2L, 1L, 4L, 3L, 4L, 5L, 3L, 1L, 3L, 2L, 4L, 4L, 1L, 3L, 3L, 4L, 
    > 5L, 4L, 4L, 1L, 1L, 3L, 5L, 5L, 1L), CHOICE_conj1 = c(2L, 2L,  1L, 2L,
    > 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,  1L, 1L, 2L,
    > 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L,  1L, 1L, 1L, 1L,
    > 2L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 2L, 1L ), RATING_conj1_org1 =
    > c(1L, 3L, 6L, 5L, 3L, 1L, 5L, 2L, 0L,  7L, 6L, 8L, 5L, 10L, 8L, 10L,
    > 1L, 6L, 5L, 8L, 2L, 7L, 0L, 6L,  8L, 0L, 4L, 2L, 8L, 6L, 7L, 7L, 7L,
    > 2L, 3L, 8L, 6L, 7L, 2L, 7L,  3L, 8L, 5L, 7L, 8L, 6L, 6L, 10L, 3L, 9L),
    > RATING_conj1_org2 = c(7L,  6L, 4L, 7L, 7L, 1L, 6L, 6L, 0L, 3L, 2L, 0L,
    > 0L, 9L, 5L, 3L, 1L,  6L, 8L, 5L, 2L, 2L, 0L, 4L, 5L, 0L, 6L, 8L, 3L,
    > 5L, 6L, 6L, 5L,  8L, 3L, 8L, 3L, 1L, 5L, 9L, 7L, 3L, 7L, 6L, 6L, 4L,
    > 4L, 0L, 6L,  7L), CHOICE_conj2 = c(1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L,
    > 1L,  2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    > 2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L,  2L,
    > 2L, 1L, 1L, 2L, 1L, 1L, 2L), RATING_conj2_org1 = c(5L, 4L,  4L, 4L,
    > 5L, 1L, 5L, 7L, 0L, 3L, 5L, 6L, 5L, 9L, 5L, 3L, 1L, 4L,  4L, 8L, 3L,
    > 7L, 0L, 9L, 9L, 1L, 3L, 2L, 3L, 5L, 6L, 4L, 5L, 8L,  3L, 7L, 6L, 1L,
    > 7L, 0L, 7L, 6L, 6L, 8L, 9L, 7L, 5L, 10L, 7L,  7L), RATING_conj2_org2 =
    > c(0L, 2L, 7L, 4L, 8L, 1L, 7L, 8L, 0L,  3L, 6L, 0L, 0L, 7L, 8L, 10L,
    > 0L, 3L, 6L, 8L, 2L, 5L, 0L, 4L,  5L, 2L, 5L, 5L, 7L, 5L, 5L, 7L, 1L,
    > 2L, 3L, 8L, 3L, 7L, 3L, 6L,  2L, 8L, 8L, 8L, 7L, 6L, 6L, 5L, 5L, 9L),
    > CHOICE_conj3 = c(2L,  2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L,
    > 2L, 1L, 2L, 1L,  1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 2L,
    > 2L, 1L, 2L,  1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L,
    > 2L, 1L,  1L), RATING_conj3_org1 = c(4L, 6L, 4L, 6L, 7L, 1L, 6L, 3L,
    > 0L,  6L, 2L, 7L, 0L, 9L, 5L, 3L, 1L, 3L, 4L, 7L, 1L, 8L, 0L, 5L, 5L, 
    > 1L, 5L, 2L, 8L, 5L, 5L, 5L, 3L, 8L, 2L, 4L, 5L, 7L, 8L, 6L, 7L,  6L,
    > 4L, 9L, 7L, 5L, 4L, 2L, 8L, 9L), RATING_conj3_org2 = c(7L,  4L, 6L,
    > 5L, 6L, 1L, 3L, 7L, 0L, 3L, 2L, 3L, 3L, 6L, 5L, 10L,  0L, 3L, 4L, 10L,
    > 0L, 4L, 0L, 7L, 5L, 2L, 3L, 2L, 3L, 5L, 8L,  2L, 7L, 2L, 7L, 5L, 3L,
    > 3L, 0L, 0L, 2L, 6L, 7L, 8L, 5L, 2L, 8L,  10L, 6L, 8L), CHOICE_conj4 =
    > c(2L, 1L, 1L, 2L, 2L, 2L, 1L, 2L,  1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L,
    > 2L, 1L, 2L, 2L, 2L, 1L, 2L,  1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L,
    > 2L, 1L, 1L, 1L, 1L, 1L,  2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 2L),
    > RATING_conj4_org1 = c(4L,  5L, 8L, 6L, 4L, 1L, 8L, 3L, 0L, 7L, 5L, 5L,
    > 2L, 8L, 7L, 10L,  1L, 5L, 5L, 10L, 1L, 3L, 0L, 6L, 7L, 1L, 2L, 5L, 7L,
    > 8L, 7L,  3L, 6L, 2L, 2L, 8L, 5L, 5L, 4L, 5L, 3L, 7L, 3L, 8L, 8L, 6L,
    > 2L,  10L, 7L, 7L), RATING_conj4_org2 = c(6L, 4L, 4L, 4L, 5L, 1L, 6L, 
    > 7L, 0L, 3L, 6L, 2L, 0L, 5L, 5L, 3L, 0L, 3L, 4L, 9L, 4L, 8L, 0L,  5L,
    > 6L, 2L, 8L, 3L, 2L, 5L, 5L, 7L, 2L, 6L, 7L, 8L, 3L, 3L, 1L,  5L, 7L,
    > 10L, 7L, 10L, 5L, 5L, 7L, 5L, 5L, 8L), Q7 = c(0L, 0L,  8L, 9L, 6L,
    > 10L, 2L, 2L, 6L, 8L, 0L, 0L, 5L, 2L, 7L, 7L, 3L,  0L, 0L, 5L, 6L, 4L,
    > 7L, 2L, 977L, 0L, 6L, 3L, 2L, 4L, 7L, 8L,  2L, 1L, 9L, 8L, 10L, 6L,
    > 0L, 9L, 5L, 0L, 3L, 0L, 0L, 0L, 2L,  5L, 977L, 2L), Q8 = c(1L, 1L, 2L,
    > 2L, 2L, 2L, 2L, 1L, 2L, 2L,  1L, 1L, 977L, 1L, 2L, 2L, 1L, 3L, 1L, 1L,
    > 3L, 1L, 3L, 1L, 2L,  1L, 977L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L,
    > 3L, 3L, 2L,  3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 977L, 1L), Q9 = c(4L, 8L,
    > 1L,  0L, 4L, 0L, 8L, 7L, 0L, 0L, 10L, 10L, 0L, 4L, 0L, 10L, 4L, 5L, 
    > 10L, 8L, 2L, 9L, 0L, 5L, 2L, 0L, 5L, 4L, 4L, 8L, 0L, 0L, 5L,  6L, 2L,
    > 0L, 0L, 0L, 7L, 4L, 5L, 5L, 6L, 10L, 7L, 4L, 6L, 0L,  977L, 7L), Q10 =
    > c(8L, 10L, 7L, 5L, 7L, 2L, 7L, 8L, 0L, 2L, 10L,  10L, 0L, 10L, 2L,
    > 10L, 8L, 8L, 10L, 8L, 7L, 10L, 5L, 7L, 4L,  0L, 7L, 7L, 10L, 10L, 4L,
    > 2L, 5L, 9L, 5L, 6L, 2L, 4L, 10L, 3L,  5L, 7L, 9L, 10L, 10L, 10L, 8L,
    > 977L, 977L, 10L), Q11 = c(10L,  9L, 1L, 4L, 5L, 0L, 5L, 6L, 1L, 3L,
    > 9L, 10L, 0L, 10L, 7L, 7L,  5L, 7L, 10L, 10L, 9L, 7L, 0L, 8L, 7L, 0L,
    > 7L, 7L, 8L, 10L, 5L,  2L, 2L, 10L, 5L, 1L, 2L, 4L, 6L, 4L, 7L, 10L,
    > 6L, 8L, 8L, 6L,  8L, 6L, 977L, 10L), Q12 = c(0L, 0L, 0L, 5L, 1L, 10L,
    > 2L, 0L,  0L, 2L, 0L, 0L, 5L, 0L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
    > 0L,  0L, 10L, 3L, 0L, 0L, 977L, 10L, 7L, 0L, 0L, 5L, 8L, 2L, 0L, 966L,
    > 7L, 977L, 0L, 0L, 0L, 0L, 0L, 0L, 977L, 977L, 0L), Q13 = c(2L,  2L,
    > 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,  2L, 2L,
    > 2L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L,  2L, 2L, 2L,
    > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 977L,  2L), Q14 =
    > c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,  3L, 3L, 3L, 3L, 3L,
    > 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,  3L, 3L, 3L, 3L, 3L, 3L,
    > 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,  3L, 3L, 3L, 3L, 3L, 3L), Q1 =
    > c(2L, 2L, 8L, 6L, 5L, 1L, 7L, 3L,  7L, 4L, 1L, 6L, 4L, 1L, 5L, 10L,
    > 5L, 4L, 3L, 7L, 2L, 5L, 3L,  5L, 977L, 0L, 5L, 4L, 4L, 7L, 5L, 3L, 8L,
    > 3L, 3L, 0L, 5L, 6L,  3L, 4L, 0L, 3L, 3L, 2L, 7L, 4L, 2L, 7L, 4L, 7L),
    > Q2 = c(1L, 1L,  1L, 977L, 1L, 3L, 3L, 1L, 2L, 2L, 3L, 1L, 2L, 1L, 3L,
    > 1L, 1L,  1L, 2L, 1L, 1L, 1L, 2L, 1L, 977L, 2L, 3L, 3L, 1L, 1L, 3L, 2L,
    > 1L, 1L, 3L, 3L, 2L, 3L, 3L, 2L, 1L, 3L, 3L, 3L, 977L, 1L, 3L,  977L,
    > 977L, 1L), gender = c(1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L,  1L, 2L, 1L,
    > 1L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L,  1L, 2L, 1L, 2L,
    > 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L,  2L, 2L, 2L, 2L, 2L,
    > 1L, 2L, 2L, 1L), profile_age = c(5L, 2L,  5L, 5L, 3L, 5L, 2L, 5L, 3L,
    > 5L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L,  2L, 5L, 5L, 5L, 5L, 2L, 5L, 5L,
    > 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,  5L, 1L, 5L, 5L, 1L, 1L, 1L, 1L, 1L,
    > 1L, 1L, 1L, 1L, 1L, 1L, 1L ), educ = c(6L, 5L, 2L, 5L, 6L, 6L, 4L, 6L,
    > 3L, 5L, 4L, 5L, 6L,  4L, 4L, 6L, 6L, 6L, 3L, 6L, 5L, 6L, 5L, 5L, 3L,
    > 4L, 6L, 6L, 5L,  3L, 3L, 4L, 3L, 6L, 3L, 5L, 5L, 6L, 3L, 5L, 3L, 3L,
    > 3L, 3L, 4L,  5L, 5L, 4L, 2L, 3L)), class = "data.frame", row.names =
    > c(NA, 
    > -50L))

到目前为止我所做的是:

library(cregg) 
str(long <- cj_tidy(cjdata_wide,
                    profile_variables = c("All the profile variables"),
                    task_variables = c("CHOICE AND RATING VARIABLES HERE"),
                    id = ~ id))
stopifnot(nrow(long) == nrow(data)*4*2

但我不断收到错误。我试图按照cregg 包给出的示例进行操作,但没有成功。任何帮助深表感谢!我对所有可能的方式持开放态度,例如通过 cregg 包或tidyr

【问题讨论】:

  • 感谢您与dput 分享您的数据,但是每行开头的所有&gt; 使我们无法复制您的数据。如果我们必须使用数据,我们必须从每一行手动删除&gt;,这违背了共享dput的目的。
  • 感谢@RonakShah。然后我应该手动删除所有 > 还是有其他方法可以做到这一点?

标签: r tidyverse reshape tidyr reshape2


【解决方案1】:

您的数据不是标准格式,这使这成为一个难题。这是使用 tidyr 包的解决方案。

解决方案涉及 3 个部分,处理配置文件、评级和最后的评级选择。

配置文件部分的关键是长轴旋转并将配置文件名称分解为组件部分,然后为列标题更宽地旋转。

评级和二元选择涉及旋转更长的时间,然后对齐行。

library(tidyr)
library(dplyr)

#Get the  categories part correct
answer <-cjdata_wide %>% pivot_longer(cols=starts_with("org"), names_to=c("org", "Cat", "conj", "order"), values_to= "values", names_sep="_") %>% select(-c("conj"))
answer <-answer %>% select(!starts_with("RATING") & !starts_with("CHOICE"))
answer <-pivot_wider(answer, names_from = "Cat", values_from = "values") 

#get the ratings column corretn
rating <-cjdata_wide %>% select(starts_with("RATING") )
rating <- rating%>% pivot_longer(cols=everything(), names_to=c("Rating", "conj", "order"), values_to= "Choice_Rating", names_sep="_") %>% select(-c("conj"))

answer$Choice_Rating <- rating$Choice_Rating

#Get the choice correct
choice <-cjdata_wide %>% select(starts_with("CHOICE") )
choiceRate <- choice%>% pivot_longer(cols=everything(), names_to=c("Choice", "conj"), values_to= "Choice_Rating", names_sep="_") %>% select(-c("conj"))

answer$Choice_binary <-ifelse(substr(answer$org, 4,4) == rep(choiceRate$Choice_Rating,each=2), 1, 0)

    answer

也许可以简化上述内容。祝你好运。

每条评论更新
最终的数据框有成对的行,对应于组织 1 或 2。我复制了选择,以便 Choice_Rating 列与组织(“组织”列)的长度相同。然后我比较了 Choice_Rating & Organization 并根据匹配将最终值设置为 0 或 1。
对于评论中的问题,一种简单的方法是使用 as.integer() 函数将因子列转换为整数,然后第一个因子变为 1,第二个因子变为 2,依此类推(可能需要重新调整以获得正确的顺序)。
另一种选择是创建一个新的“组织”列,并正确列出您的因素名称。
希望这能提供足够的指导。

【讨论】:

  • 感谢您的建议。我尝试了我在此处共享的示例上的代码,但不断收到此错误:!starts_with("RATING") &amp; !starts_with("CHOICE") 必须评估为列位置或名称,而不是运行此代码时的逻辑向量:answer &lt;-answer %&gt;% select(!starts_with("RATING") &amp; !starts_with("CHOICE"))。您对如何解决这个问题有什么建议吗?
  • 可能与命名空间有冲突。 “选择”功能是一个通用名称。也许重新启动 R 并仔细重新加载库以查看它是否使用了多次。
  • 我更新了 tidy 包,然后哇!有效。非常感谢 - 它正是我想要的。感谢您的宝贵时间!
  • 我可以在这里跟进一下:如果我使用带有词(因子)的数据,这是调查数据的标准。您提供的代码如何更改?问题是我在具有因子变量的数据上运行了您的代码,并且 Choice_binary 变量只是 = 0,而其他感兴趣的变量似乎也有效。谢谢!
猜你喜欢
  • 2017-11-04
  • 2015-02-03
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
  • 2012-12-01
  • 2011-01-16
相关资源
最近更新 更多