在R中将字母指定为行名称

时间:2015-09-26 22:10:51

标签: r

我对R很新,我目前正在做一个我似乎无法弄清楚的家庭作业问题,我希望这里有人可以帮我指出正确的方向。赋值表示创建一个包含25行和800列的矩阵,其数字取自具有5个自由度的卡方分布。我已经正确地完成了这个(我认为):

chi <- rchisq(20000, 5)
chi

我应该将行名称分配为字母表的前25个字母,小写。这是我坚持的部分。我尝试过使用:

rownames(chi) <- letters[1:25]

我觉得这是正确的,但问题是我试图在没有尺寸的对象上设置rownames。所以我想我的问题在于我在原始行中使用n = 20000并且实际上没有设置尺寸?

1 个答案:

答案 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]