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