有没有一种方法可以将R中的变量添加到一起?
我想把两个数字变量strike1和Booket1加在一起,得到一个“抗议”变量,用于解释每种抗议类型。举个例子,这个新变量的第一个值应该是:2:3598。 我在其他变量上使用了下面的方法,它起了作用,有人知道这次会发生什么,结果会有所不同吗有没有一种方法可以将R中的变量添加到一起?,r,R,我想把两个数字变量strike1和Booket1加在一起,得到一个“抗议”变量,用于解释每种抗议类型。举个例子,这个新变量的第一个值应该是:2:3598。 我在其他变量上使用了下面的方法,它起了作用,有人知道这次会发生什么,结果会有所不同吗 >table(strike strike Not at all Once Twice 2055
>table(strike
strike
Not at all Once Twice
2055 2555 840
Three times . More than three times
383 605
> table(boycott)
boycott
Not at all Once Twice
1543 2139 625
Three times . More than three times
214 426
> strike1<-as.numeric(strike)
> boycott1<-as.numeric(boycott)
> table(strike1)
strike1
1 2 3 4 5
2055 2555 840 383 605
> table(boycott1)
boycott1
1 2 3 4 5
1543 2139 625 214 426
> protest<-strike1+boycott1
> table(protest)
protest
2 3 4 5 6 7 8 9 10
604 284 895 179 193 124 72 38 93
> table(strike1, boycott1)
boycott1
strike1 1 2 3 4 5
1 604 154 31 10 35
2 130 843 83 16 19
3 21 83 98 24 13
4 3 37 45 36 12
5 7 36 23 26 93
要获得所需的输出,请尝试TableTrike+TableBoude。这将给你一个总数,显示有多少人对罢工作出了反应,加上对抵制作出反应的人数。不过,我有点难以理解这是在测量什么 这也不会像罢工和抵制那样在个人层面进行衡量。如果你想用一个变量来衡量抗议活动的总体参与度,你最好做些类似的事情 删除1+1你原来的方法 或
在原始变量的比例上删除1+1/2你所做的是两两相加。当罢工1和抵制1都等于1时,您只能得到2。如果罢工1[i]==1,抵制1[i]==2,则抗议[i]==3。取决于你到底想做什么,假设你的观察结果是成对的,这实际上可能就是你想要的 要获得您期望的答案,您需要执行以下操作:
protest <- table( 2 * strike1 ) + table( 2 * boycott1 )
但我要提醒大家不要这样做,因为至少在我看来,这并没有什么意义。再说一次,关于你的目标,我可能遗漏了一些东西
另外,您是否在添加罢工1和抵制1的线路中收到警告消息?比如:
In protest<-strike1+boycott1:
longer object length is not a multiple of shorter object length
因为我认为它应该生成警告。第一个值是2:3598吗?那是什么格式?2055+1543=3598,这不应该是第一个值吗?如果您包含一个简单的示例输入和所需输出,可以用于测试和验证可能的解决方案,这将更容易帮助您。感谢您的回答,在我看来,罢工1+抵制1的答案似乎有非常低的数字,分别考虑到罢工1和抵制1的参与。另外,当我在其他变量上做加法时,我得到了我期望的答案。你认为这些变量给出不同的答案有什么原因吗?我不认为这些数字很低,我认为你可能误解了它们。以第一个元素为例。有604人罢工+抵制=2,即604人罢工和抵制各占1;您也可以在交叉表中看到这一点。有284人的分数为3,因此284人的罢工率为1或抵制率为1,另一人的分数为2。等请注意,当您将它们添加到一起时,您将不再拥有原始变量的类别。其他变量的测量方式可能会使其总和达到您的预期值,例如Likert类型的项目。