将函数应用于数据框中的唯一因子级别

时间:2016-08-03 17:49:28

标签: r

R的新手。我有一个数据框,其中包含有关个人年龄,性别以及他们是否睡在床网下的信息(让我们称之为mlm.Lo)。我想找到在该年龄和性别的总人口中之前一晚睡在床下的特定年龄和性别的人的比例,并将其作为列分配给另一个数据帧(AgeppLNNET.Lo)。问题是将该功能应用于所有个体,按年龄和性别编制索引,并为每个独特的年龄和性别组合获得一个比例。

我尝试编写一个函数并使用apply

fxppLNNET.Lo  <- function(x,y){
if(mlm.Lo$Sex == "F") {
      return(sum(mlm.Lo$Age == x, mlm.Lo$LNNET == 1, na.rm = TRUE))/
         (sum(mlm.Lo$Age == x, na.rm = TRUE))
    } else(mlm.Lo$Sex = "M")
      return(sum(mlm.Lo$Age == x & mlm.Lo$LNNET == 1, na.rm = TRUE))/
         (sum(mlm.Lo$Age == x, na.rm = TRUE))
    }

AgeppLNNET.Lo$ppLNNET<- apply(mlm.Lo$Age, mlm.Lo$Sex, fxppLNNET.Lo)

但是我收到了这个错误

Error in apply(mlm.Lo$Age, mlm.Lo$Sex, fxppLNNET.Lo) : 
  dim(X) must have a positive length

似乎我的问题只是将我写的功能应用到每个独特的年龄/性别组合中。非常感谢任何帮助。

0 个答案:

没有答案