【发布时间】:2020-04-03 10:31:35
【问题描述】:
我正在对一项作业进行小型统计分析,其中我正在处理成年女性和男性的双变量正态分布以及每种性别的 100 个身高和体重的模拟。我将男性和女性的身高组合成一个名为“身高”的变量。我在体重方面也做过同样的事情。我想创建一个与身高和体重相匹配的虚拟变量(女性为 1,男性为 0),但我不知道该怎么做。
这是我目前的代码:
BivNormDist = function(n,m1,m2,s1,s2,r) {
y = rnorm(n,m2,s2)
x = rnorm(n,m1+r*s1*(y-m2)/s2,s1*sqrt(1-r^2))
data.frame(x,y)
}
males = BivNormDist(100,167,60,7,9,0.60)
females = BivNormDist(100,177,76,8,11,0.55)
height = c(males$x, females$x)
weight = c(males$y, females$y)
gender =
有什么想法吗?提前致谢!
【问题讨论】:
-
请注意,在 R 中使用数字作为虚拟变量并不是一个好主意,因为默认情况下它们被许多函数认为是连续的。相反,使用因子,它们是专门为表示类别而设计的。它还使代码更具可读性,因为因子是由字符串表示的——例如
"male"和"female"— 而不是任意数字。
标签: r