r - R、CSV 中的非唯一值,因为字符列值中的空白点有一个看不见的点

标签 r excel csv

我正在尝试在(大)数据集中查找独特的物种,但它在 unique() 结果中返回相同的名称两次。

TestData <- read.csv("Data\\TestData.csv", stringsAsFactors = FALSE)

unique(TestData$Species)

[1] "Amblyeleotris aurora"  "Amblyeleotris aurora"  "Cetoscarus bicolor"    "Cetoscarus bicolor"    "Cephalopholis polleni"
[6] "Cephalopholis polleni"

返回为非唯一的同一物种之间没有拼写不匹配,当我查看 csv 文件时,它们看起来都一样。但是,当我将名称复制到 R 控制台或脚本时,会出现红色 .将属和种分开为一个。点赞Amblyeleotris.aurora .

这可能是 csv 文件的问题,但是当我在 Notepad++ 或 MS excel 中查看文件时,点不会出现。然而,当对同一物种(即“Amblyeleotris aurora”和“Amblyeleotris aurora”)进行时,MS Excel 中的相等检查评估为假。

如前所述,这更有可能是 csv 的问题,但我想知道是否有办法在 R 中克服这个问题。

如果这个问题已经在某个地方得到了回答,或者这个问题在这里问得太简单了,我提前道歉,但我还没有在堆栈或互联网上找到任何解决方案。

这是示例 TestData csv 文件的链接,用于重现 ScriptPanel 的示例和屏幕截图以显示红点。

TestData.csv file

enter image description here

干杯
希马尔

最佳答案

那些红点表示你有non-breaking spaces (NBSP) 在您的文件中。

在 R 中,您可以使用以下行将 Species 列中的所有 NBSP 转换为常规空格:

TestData$Species <- gsub("[[:space:]]", " ", TestData$Species)

现在您的独特调用将表明所有空间都是相同的:
> unique(TestData$Species)
[1] "Amblyeleotris aurora"  "Cetoscarus bicolor"   
[3] "Cephalopholis polleni"

关于r - R、CSV 中的非唯一值,因为字符列值中的空白点有一个看不见的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48611079/

相关文章:

arrays - Hive:使用 csv 文件中的结构数组创建表,其中所有内容均以逗号分隔

r - 使用 R 绘制分类数据

r - lapply 和 sapply 在 data.frame 上测试每列中的所有元素以获得单个逻辑

excel - VBA Excel-如何根据三列删除重复项

excel - 绘制我的账户余额的 Excel 折线图

javascript - 我可以使用 Javascript 获取文件目录列表吗?

r - 将加权边缘列表转换为 r 中的未加权边缘列表

r - 在 Rmarkdown 的 YAML header 中设置数字的标题字体大小

python - xlwings可以在后台运行excel吗?

scala - 当最后一列名称包含空格时,Spark 无法读取 CSV