R语言调用distinct()函数报错‘Must use existing variables’的问题求助
解决R中
distinct()找不到writer变量的问题 问题根源
你读取的correspondence-data-1585.csv文件内容异常:列名显示为@@ -0、0 +1、115 @@,这是Git版本差异(diff)的标记,说明你拿到的不是原始CSV数据文件,而是diff补丁文件。同时,当前读取逻辑把本该作为列名的第一行(writer、source、destination、date)当成了数据行,导致列名完全错误,最终触发distinct()的变量找不到错误。
解决步骤
确认文件有效性
先检查data/correspondence-data-1585.csv的内容,确保它是标准CSV格式,开头行是正确列名,无diff标记。如果是diff文件,需获取原始的CSV数据文件。正确读取CSV
如果文件是正常CSV但读取时未识别列名,调整read_csv参数:# 强制将第一行设为列名(默认就是TRUE,但若文件有异常可显式声明) letters <- read_csv("data/correspondence-data-1585.csv", col_names = TRUE)若文件开头有多余的diff标记行,跳过这些行后读取:
# 示例:跳过前3行,用第4行作为列名(根据实际多余行数调整skip值) letters <- read_csv("data/correspondence-data-1585.csv", skip = 3, col_names = TRUE)验证读取结果
执行head(letters)查看前几行,确认列名是writer、source、destination、date,此时再调用distinct(letters, writer)即可正常获取唯一作者值。
内容的提问来源于stack exchange,提问作者Erkki Liski
相关产品推荐
相关产品推荐

