如何使用 R 中的换行符从 csv 中识别唯一值

How to identify unique values from a csv with row breaks in R

我有一个带换行符的 csv,我使用 read.csv 功能将其导入 R,我想识别其中一列中的唯一值。例如,我的 example.csv 文件如下所示:

我相信我可以在删除空行后使用 unique,我这样做是这样的:

df <- read.csv(file = "example.csv",header = FALSE)

colnames(df)[1:2] <- c("path","group")
df <- df[!(df$path=="" | df$group==""), ]


unique_groups <- unique(df$group)

然而,unique_groups(尽管只有 3 个不同的组),结果是一个具有 4 个级别的因素,我的 3 个不同的组,然后是空白或“”。

我发现如果我在 unique_groups 步骤之前将 df 保存为 csv 并在该 csv 中读回,它工作正常然后 unique_groups 是一个有 3 个级别的因素,但我想知道是否有更有效的方法来做到这一点?我是不是在初始导入时做错了什么,或者我是如何删除空白行的?

感谢任何帮助 - 谢谢!

事实证明,当我导入我的 csv 时,class将 B 列作为导致我出现问题的一个因素。所以现在我只是将它作为一个字符导入 class 并且已经解决了我的问题,如下所示:

df <- read.csv(file = "example.csv",header = FALSE, colClasses = c("character","character"))