如何在R中获取数据帧/矩阵的整数行名?

时间:2016-06-02 10:56:42

标签: r

我有一个数据框A,其中max(A$user_id)=23000。还typeof(A$user_id)=integer。我使用rownames(B)=unique(A$user_id)colnames(B)=unique(A$product_id)制作了数据框B.但是,当我检查max(rownames(B))时,它会显示为999。我做了row names(B)<-as.integer(rownames(B))。但是, max(rownames(B))=999。如何将rownames转换为整数呢?我想要这个,因为我想根据rownames填写B.

2 个答案:

答案 0 :(得分:1)

rownames是字符

class(rownames(B))

因此max按字母顺序给出最后一个数字。

根据您填充数据框的方式,每次要使用数字时都可以as.numeric(rownames(B)),或者将B的第一列设为整数。

答案 1 :(得分:0)

rownames"row.names"属性转换为字符向量。要将其检索为整数,请使用attr

max(attr(B, "row.names"))

来自?row.names

行名称当前允许为整数或字符,但是为了向后兼容(R <= 2.4.0),行名称将始终返回字符向量。 (如果您需要检索一组整数值的行名,请使用attr(x,“ row.names”)。