Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我想使用gsub删除空白 names(chocolateData)_R_Data Cleaning - Fatal编程技术网

R 我想使用gsub删除空白 names(chocolateData)

R 我想使用gsub删除空白 names(chocolateData),r,data-cleaning,R,Data Cleaning,R不喜欢包含空格的变量名。你可以拥有它们,但它们会让事情变得怪异,需要使用`s。因此,当某些函数创建数据帧时,它们会自动将变量名中的空格转换为句点 我认为这里发生的事情是,当创建巧克力数据时,变量`revieved time`被转换为revieved.time。由于gsub表达式只替换空格,因此句点不会更改 如果这就是问题所在,最简单的解决方案就是将表达式更改为替换句点: names(chocolateData) <- gsub("[[:space:]+]", "_", names(cho

R不喜欢包含空格的变量名。你可以拥有它们,但它们会让事情变得怪异,需要使用
`
s。因此,当某些函数创建数据帧时,它们会自动将变量名中的空格转换为句点

我认为这里发生的事情是,当创建
巧克力数据
时,变量
`revieved time`
被转换为
revieved.time
。由于
gsub
表达式只替换空格,因此句点不会更改

如果这就是问题所在,最简单的解决方案就是将表达式更改为替换句点:

names(chocolateData) <- gsub("[[:space:]+]", "_", names(chocolateData))
另一个选项是跟踪更改变量名的函数。最有可能的罪魁祸首是
read.table
(或者是它的孩子
read.csv
read.delim
)。尝试传递参数:

gsub("[[:space:].]+", "_", 'reviewed.time')
[1] "reviewed_time"

这将防止它在加载数据时更改变量名(但如果您有不需要的变量名,则可能会导致下游出现问题)。

这不使用
gsub
,而是清理变量名的极好工具

check.names = FALSE
chocolateData尝试
gsub(“[[:space:][]”+,“908;”,名称(chocolateData))
如果没有使用
dput的小的可复制示例,建议并不容易\
chocolateData <- data.frame("dark chocolate" = "yum", "white chocolate" = "yuck", check.names = FALSE)
chocolateData
#    dark chocolate white chocolate
# 1            yum            yuck

library(janitor)
chocolateData <- clean_names(chocolateData, case = "snake")
chocolateData
#    dark_chocolate white_chocolate
# 1            yum            yuck