我是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
但继续收到此错误。任何人都可以给我任何建议吗?
答案 0 :(得分:1)
首先,使用stringsAsFactors = FALSE
读取数据,因为我们需要它们作为字符。然后使用make.unique()
使行名称唯一,因为数据框不允许重复的行名称。
site_trap <- read.csv("site_trap.csv", stringsAsFactors = FALSE)
rownames(distance) <- make.unique(unlist(site_trap))
旁注:header = TRUE
是read.csv()
中的默认值,因此不需要参数。
不确定文件中是否只有一行,但这个单行也可能有用。
rownames(distance) <- make.unique(scan("site_trap.csv", what = "", sep = ","))