在rdist.earth数据框上设置行名称

时间:2015-10-07 01:31:27

标签: r

我是R的新手,我正在尝试使用rdist.earth设置我创建的数据框的行名称

数据框名为distance,我希望行名称与我的实地工作中的站点代码相关,站点代码格式为.csv文件。站点代码名为site_trap

site_trap <- read.csv("site_trap.csv", header=T)

我使用了命令

rownames(distance) <- site_trap 

Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
   invalid 'row.names' length

但继续收到此错误。任何人都可以给我任何建议吗?

1 个答案:

答案 0 :(得分:1)

首先,使用stringsAsFactors = FALSE读取数据,因为我们需要它们作为字符。然后使用make.unique()使行名称唯一,因为数据框不允许重复的行名称。

site_trap <- read.csv("site_trap.csv", stringsAsFactors = FALSE)
rownames(distance) <- make.unique(unlist(site_trap))

旁注:header = TRUEread.csv()中的默认值,因此不需要参数。

不确定文件中是否只有一行,但这个单行也可能有用。

rownames(distance) <- make.unique(scan("site_trap.csv", what = "", sep = ","))