我发现了一项心理学研究的有趣数据集(数据集称为佩戴衫),我想复制结果。我需要将两个变量汇总到一个变量中。这就是我写的:
创建空变量
pinkandred = 0
计数均穿粉红色和红色并添加1
的人的实例我穿着穿着衫的我: pinkandred 1如果: 佩戴衫$ pink衫== 1或佩戴theirt $ redshirt == 1
在数据集中添加变量
穿着$ pinkandred
我没有太多的R经验(我主要是在Python上写的)。
您的代码在Python中而不是R中的R中的R中的代码在R中的等效代码,您要做的是:
PinkAndRed = rep(0,dim(WearingTShirt)[1])
for(i in 1:dim(WearingTShirt)[1]){
if((WearingTShirt$PINKSHIRT[i]==1) || (WearingTShirt$REDSHIRT[i]==1))
{
PinkAndRed[i] = 1
}
}
WearingTShirt=cbind(WearingTShirt,PinkAndRed)
您需要在R上查看基础知识。R和python之间有无数的小差异,例如循环或条件中的括号,设置循环的长度(在上述代码中,您可以计算数据集的维度和通过执行[1],您指出要排的数量)...
更新:
感谢我意识到的评论,这尚不清楚您是否想要带有粉红色和红色衬衫的人的累积总和,或者是衬衫的1个变量是粉红色或红色的,而在其他情况下为0。/p>
上面的代码适用于一个变量,其中包含一个变量中的粉红色和红色衬衫。
如果您想要总和,则必须按照评论中所说的量函数
我不会选择循环,但是:
WearingTShirt$PinkAndRed <- ifelse(WearingTShirt$PINKSHIRT==1 |
WearingTShirt$REDSHIRT==1,1,0)
Pinkandred听起来更像是根据给定的示例。