我正在使用write.table()
方法将矩阵写入文本文件。我的矩阵有行名和列名。我注意到R弄乱了这些名字。
首先使用X
作为前缀写入以数字开头的名称。例如,1005_at
将成为X1005_at
。
-
和/
的第二个字符用点.
代替。
为什么会这样?有没有办法避免这个疯狂的问题?
答案 0 :(得分:1)
make.names
用于将名称转换为语法上有效的名称。看看这个小例子:
> make.names(c(".1 - / q", "if", "0", "NA"))
[1] "X.1.....q" "if." "X0" "NA."
文档说:
语法上有效的名称由字母,数字和点或组成 下划线字符并以字母或点开头未跟随 一个数字。 < ...> 如有必要,字符“X”前置。所有无效字符 被翻译为“。”