如何使用 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"))
我有一个带换行符的 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"))