R语言使用read.csv读取CSV文件时数值带X前缀是什么原因?
R语言读取CSV列名带X前缀的解决方案
问题原因
read.csv()默认开启列名合规校验,当CSV的表头(第一行)为纯数字、包含空格或特殊符号时,R会自动对不符合变量命名规则的列名添加X前缀,同时替换特殊字符为点号。
如果你的CSV文件第一行本身是数据而非表头,R会默认将第一行识别为表头,也会触发上述规则生成带X的列名。
修复方法
- 若CSV第一行是表头,仅需要保留原始表头格式,读入时关闭列名检查即可:
Tmps <- read.csv(file = 'data/T.csv', check.names = FALSE)
- 若CSV第一行是数据,没有表头,读入时指定不将第一行作为表头:
Tmps <- read.csv(file = 'data/T.csv', header = FALSE)
后续可通过colnames(Tmps)自定义设置列名。
内容的提问来源于stack exchange,提问作者KevinJ
相关产品推荐
相关产品推荐

