我正在尝试在(大)数据集中查找独特的物种,但它在 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
干杯
希马尔
最佳答案
那些红点表示你有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/