if else 语句循环多个条件和多列

时间:2021-01-18 10:12:01

标签: dataframe loops for-loop if-statement statistics

我是 R 新手,以前使用过 Matlab。现在我正在尝试计算 if -else 循环出现特定条件的机会。但是我发现 if 语句只使用第一行。 我的数据包括一列,其中显示了编号为 1 到 4 的年龄组,一列是男性还是女性,其中有一列是男性 0 或 1,另一列是女性 0 或 1。

所以对于每一行,我喜欢计算它是男性还是女性以及属于该年龄组的几率。

到目前为止,我尝试过的只有一行是男性或女性。

Data$Chance <- with(Data,
                              ifelse(Female==1,sum(Female == 1)/nrow(Data),ifelse(Female==0,sum(Female==0)/nrow(Data))))

及以下(第14列代表女列)

for(i in 1:nrow(Data)){
  if(Data[i,14]== 1){
    Data$Chance <- c(sum(Data$Female == 1)/length(Female))
  } else(Data[i,14] == 0) {
    Data$Chance<- c(sum(Data$Female == 0)/length(Female))
  }}

我知道这应该很简单,但我自己无法弄清楚。我希望有人能解释一下我是如何做到这一点的!?

0 个答案:

没有答案