通过R中的数据集循环和变量的计数



我发现了一项心理学研究的有趣数据集(数据集称为佩戴衫),我想复制结果。我需要将两个变量汇总到一个变量中。这就是我写的:

创建空变量

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听起来更像是根据给定的示例。

最新更新