如何更换"." 在read.csv()生成的列名中导出时是否有单个空格?

zen*_*ang 20 r read.csv

我正在使用R进行一些数据预处理,这是我遇到的问题:我使用输入数据read.csv(filename,header=TRUE),然后变量名中的空格变为".",例如,名为Full Code的变量变为生成的数据帧中的Full.Code.处理后,我write.xlsx(filename)用来导出结果,同时更改变量名称.如何解决这个问题?

此外,在输出.xlsx文件中,第一列成为索引(即1到N),这不是我所期望的.

Gre*_*now 36

如果您check.names=FALSEread.csv读取数据时进入,那么名称将不会更改,您无需在将数据写回之前进行编辑.这当然意味着您需要引用列名称(在某些情况下为引号)或在编辑时按位置而不是名称引用列.


Mat*_*ker 9

要在名称中返回空格,请执行此操作(在导出之前 - R确实允许您在变量名中包含空格,但这很痛苦):

# A simple regular expression to replace dots with spaces
# This might have unintended consequences, so be sure to check the results
names(yourdata) <- gsub(x = names(yourdata),
                        pattern = "\\.",
                        replacement = " ")
Run Code Online (Sandbox Code Playgroud)

要删除第一列索引,只需添加row.names = FALSE到您的write.xlsx().这是以表格格式写出数据的函数的常见参数(write.csv()也有它).

  • 当R解析器解析字符串时,第一个转义用完了,这为正则表达式留下了一个'\'.如果您绕过常规解析器,那么您可以使用单个反斜杠(但这可能比它的价值更多). (2认同)