为R中的行分配名称
问题描述:
我想为R中的行分配名称,但到目前为止,我只找到了将名称分配给列的方法。我的数据分为两栏,第一栏(地理位置)分配了我正在调查的特定地点的名称,第二栏(skada)是该特定地点的观测值。为了澄清,我希望能够为每个位置分配名称,而不是只将它们全部放在一个.txt文件中,以便数据更容易处理。任何人都比我有更多的经验,知道如何在R中处理这个问题? 为R中的行分配名称
答
首先,您需要将数据导入到您的全球环境。尝试使用功能read.table()
要行名称,尝试 (假设你的data.frame名为df
):
rownames(df) <- df[, "geo"]
df <- df[, -1]
答
嗯,你的问题是不是清楚......
我想你正尝试创建具有命名行的data.frame
。如果你看一下data.frame
帮助,您可以看到参数row.names
描述
NULL或一个整数或字符串指定列用作行名称,或字符或整数向量给出的行名数据帧。
这意味着您可以在创建data.frame
或包含名称的列时手动指定行名称。前者可以如下
d = data.frame(x=rnorm(10), # 10 random data normally distributed
y=rnorm(10), # 10 random data normally distributed
row.names=letters[1:10] # take the first 10 letters and use them as row header
)
而后者则是
d = data.frame(x=rnorm(10), # 10 random data normally distributed
y=rnorm(10), # 10 random data normally distributed
r=letters[1:10], # take the first 10 letters
row.names=3 # the column with the row headers is the 3rd
)
如果你从文件中读取数据,我会假设你正在使用的命令read.table
被achived。它的许多参数都相同的data.frame
,特别是你会发现row.headers
参数的工作方式相同:
行名的载体。这可以是给出实际行名的向量,也可以是给出包含行名的表的列的单个数字,也可以是给出包含行名称的表列名称的字符串。
最后,如果您已经阅读data.frame
,并要更改的行名,皮埃尔的答案是你的解决方案
当我运行 'rownames(raps_geo_skada)
@AxelRösvik是的,那是正确的。 “a”,“b”)'然而,如果你的整个数据集是例如数值,你可以将数据保存在一个矩阵中,而不是唯一的rownames。参见'mat Pierre