R中的函数编写
我有一个数据框(df),只有三列显示了在校学生的理想体重(x)(千克)(第1列)、年龄(y)(第2列)和性别(z)(第3列,男孩编码1,女孩编码2)。我想写一个函数,求出给定年龄和性别的在校学生的理想体重。我的新手尝试如下所示:R中的函数编写,r,R,我有一个数据框(df),只有三列显示了在校学生的理想体重(x)(千克)(第1列)、年龄(y)(第2列)和性别(z)(第3列,男孩编码1,女孩编码2)。我想写一个函数,求出给定年龄和性别的在校学生的理想体重。我的新手尝试如下所示: idealwt<-function(age,gender){ age=df$y gender=df$z idealwt = df$x[age==df$y & gender==df$z] return(idealwt) } ide
idealwt<-function(age,gender){
age=df$y
gender=df$z
idealwt = df$x[age==df$y & gender==df$z]
return(idealwt)
}
idealwtOP函数中的问题源于创建对象“年龄”和“性别”,这也是函数的参数。因此,本质上,我们比较的是df$y==df$y
和df$z==df$z
,结果是所有元素都为真,输出是整个向量。相反,我们可以在不使用age=df$y
和gender=df$z
idealwt<-function(age,gender){
df$x[age==df$y & gender==df$z]
}
idealwt(12, 2)
#[1] 38 42
非常感谢,我最后一个月的困境终于结束了。棒 极 了!!!!诚挚的问候
df <- data.frame(x = c(45, 38, 55, 33, 42), y = c(15, 12, 18, 14, 12),
z = c(1, 2, 1, 1, 2))