我对R很新,我目前正在做一个我似乎无法弄清楚的家庭作业问题,我希望这里有人可以帮我指出正确的方向。赋值表示创建一个包含25行和800列的矩阵,其数字取自具有5个自由度的卡方分布。我已经正确地完成了这个(我认为):
chi <- rchisq(20000, 5)
chi
我应该将行名称分配为字母表的前25个字母,小写。这是我坚持的部分。我尝试过使用:
rownames(chi) <- letters[1:25]
我觉得这是正确的,但问题是我试图在没有尺寸的对象上设置rownames。所以我想我的问题在于我在原始行中使用n = 20000并且实际上没有设置尺寸?
答案 0 :(得分:1)
您需要创建矩阵。 rchisq()
的结果只是一个简单的数字向量。我们可以在matrix()
函数中创建矩阵并设置所有行名称。
chi <- matrix(rchisq(20000, 5), 25, dimnames = list(letters[-26], NULL))
或者,您可以在创建dim()
后使用chi
添加维度属性,然后设置行名称。
chi <- rchisq(20000, 5)
dim(chi) <- c(25, 800)
rownames(chi) <- letters[-26]