【发布时间】:2019-02-17 00:09:53
【问题描述】:
我想知道是否有人可以帮助我在 R 中生成这些数据。它相当复杂,我不知道如何开始。如果我的问题不清楚,我提前道歉。我正在尝试创建一个独特的数据集。本质上,我试图将我的数据分成四组,并根据某个列的值计算个人在组内收到某个值的次数。
我正在查看立法者的点名数据以及他们的投票方式。具体来说,我有四个变量的面板数据:id 是个人立法者的识别号; struggle 变量是成员是否有投票问题(二分法); vote 表示该成员的投票方式(它可以取 0 到 9 之间的任何值,它是一个分类变量); rollcall 是每个点名的点名号码或 id。
首先,我希望将数据分成两组。这种分离将基于成员 999 (id) 是否为投票列取了任何等于 1 到 6 的值。如果他这样做了,我希望将所有这些唱名投票(和成员)分开在一个类别中。对于所有剩余的唱名投票(或不等于 1 到 6),我希望将所有唱名投票(和成员)放在一个单独的组中。
其次,我想根据个别立法者是否难以投票(斗争),或者他们没有努力投票。因此,我总共有四个组。
第三,根据投票变量,我想将单个立法者收到值 7、8 或 9(每四组)的总次数相加。因此,我将为每个成员创建四个新变量和值
这是一个数据示例。
这是生成该表的代码:
id=c(999,1,2, 999,1,2,999,1,2,999,1,2)
Struggle=c("NO", "YES", "NO", "NO", "NO", "YES", "NO", "NO", "YES", "YES", "YES", "YES")
Vote=c(1,9,1,9,0,1,2,9,9,9,9,1)
Rollcall=c(1,1,1,2,2,2,3,3,3,4,4,4)
data=cbind("id", "Struggle", "Vote", "Rollcall")
我希望它看起来像下面这样:
A 表示成员 999 在 rollcall 变量中收到介于 1-6 之间的值并且立法者 (id) 挣扎的组。
B 表示成员 999 在 rollcall 变量中收到介于 1-6 之间的值且立法者 (id) 没有挣扎的组。
C 表示成员 999 未收到 rollcall 变量中 1-6 之间的值且立法者 (id) 挣扎的组。
D 表示成员 999 没有收到 rollcall 变量中 1-6 之间的值且立法者 (id) 没有挣扎的组。 p>
每组中的数值表示立法者在四个组(A、B、C 或 D)之一中收到 7、8 或 9 的次数。 有没有人有任何建议或潜在的代码来生成这些数据?我感谢有人可以提供的任何帮助。再次,对于这个复杂的问题和任何不清楚的地方,我深表歉意。
【问题讨论】:
标签: r count subset data-manipulation