R 为什么不检测重复字符?;

R 为什么不检测重复字符?;,r,duplicates,R,Duplicates,我正在尝试删除数据框中的重复id数据 buying<-buy_nobuy[duplicated(buy_nobuy[,1])==F,] 但是当我在全局环境中手动检查时,我发现 事实上,仍然存在重复数据(如图片显示) 我检查是否测试具有相同id的行,会发生什么: > buying[9,1]==buying[71,1] [1] FALSE 似乎很可笑。我想这可能是一些数据类型问题? 有人知道如何解决这个问题吗? 顺便说一下,我以字符类型读取数据帧,因为ID不能被读取为数字,否则它将

我正在尝试删除数据框中的重复id数据

buying<-buy_nobuy[duplicated(buy_nobuy[,1])==F,]
但是当我在全局环境中手动检查时,我发现 事实上,仍然存在重复数据(如图片显示)

我检查是否测试具有相同id的行,会发生什么:

> buying[9,1]==buying[71,1]
[1] FALSE
似乎很可笑。我想这可能是一些数据类型问题?
有人知道如何解决这个问题吗?

顺便说一下,我以字符类型读取数据帧,因为ID不能被读取为数字,否则它将以指数方式显示,并丢失真实ID

buy_nobuy <- read.csv('community_achievement_buying.csv',colClasses= c(Id="character"))  

试试看:
buy\u nobuy如果像上面这样的简单修改不起作用,您将需要提供实际数据(可能只是这两行),以便我们可以自己测试和验证。仅仅是数据的图像一点用处都没有。这些问题通常是由于前导或尾随空格投票结束,因为没有可复制的示例。请求撤销
dput的关闭后输出(购买[c(9,71),1])
as。保持数据帧名称一致。您可以对名为
buy_nobuy
的数据帧进行重复数据消除,并在另一个名为
buying
的数据帧中查找重复数据。也许它们是完全不同的数据帧?也许您在创建
购买时创建了一个副本
?Base R具有
trimws()
,不确定是否需要
stringr
老实说,我不知道该函数,谢谢:-)
buy_nobuy <- read.csv('community_achievement_buying.csv',colClasses= c(Id="character"))  
> print(buying[9,1])
[1] 76561198321932950\t
73039 Levels: 76561197960272112\t ...
> print(buying[71,1])
[1] 76561198321932950\t\t
73039 Levels: 76561197960272112\t
data <- data.frame(
  id = c("123456789", "123456789 "),
  buy = c(1,1)
)
apply(data[1], 1, charToRaw)
[[1]]
[1] 31 32 33 34 35 36 37 38 39

[[2]]
 [1] 31 32 33 34 35 36 37 38 39 20



data$id <- trimws(data$id) # Thanks @ Mako212

apply(data[1], 1, charToRaw)

      [,1] [,2]
 [1,]   31   31
 [2,]   32   32
 [3,]   33   33
 [4,]   34   34
 [5,]   35   35
 [6,]   36   36
 [7,]   37   37
 [8,]   38   38
 [9,]   39   39