在R中使用disk.frame拼接字符串时遇意外符号错误求助
解决disk.frame中mutate创建带连字符列名的报错问题
问题原因
disk.frame的mutate函数在解析带连字符(-)的新列名时,会将其误判为减法表达式(如Item-Loc被解析为Item - Loc),导致语法解析错误。而普通data.frame的dplyrmutate对特殊字符列名的兼容性更好,因此不会报错。
解决方法
方法1:用反引号包裹新列名
将新列名用反引号(`)包裹,明确告知R这是一个变量名而非表达式:
Sales <- as.disk.frame(Sales) %>% mutate(`Item-Loc` = paste(as.character(`Item-Entity`), as.character(SBLOC), sep = '--'))
方法2:先创建无特殊字符列名再重命名
先创建不含连字符的临时列,再通过rename修改为目标列名:
Sales <- as.disk.frame(Sales) %>% mutate(Item_Loc = paste(as.character(`Item-Entity`), as.character(SBLOC), sep = '--')) %>% rename(`Item-Loc` = Item_Loc)
内容的提问来源于stack exchange,提问作者grislepak
相关产品推荐
相关产品推荐

