gpt4 book ai didi

r - 如何检查 data.table 键是否正常工作以及为什么不能正常工作?

转载 作者:行者123 更新时间:2023-12-02 03:38:27 25 4
gpt4 key购买 nike

不确定是错误还是我的错 - data.table 键对表不起作用,我从 UTF 编码文件 (link) 中读取。

names <- data.table(name = unique(read.table(file = "boys_ru.txt", header = FALSE, sep = "\n", quote = "", stringsAsFactors = F)$V1), sex = 1)
setkey(names, name)

data.table 似乎无法正确识别 key 。 names["сергей"] 什么都不返回,而 names[name == "сергей"] 工作正常

> names[name == "сергей"]
name sex
1: сергей 1

如果我自己创建表,一切也都正常

dt1 <- data.table(name = rep("сергей", 5), sex = rep(1, 5))
setkey(dt1, name)

我不知道该怎么做,因为这不允许我在名称字段上将此表与另一个 10M 行的表连接起来。有趣的是,merge.data.frame 按预期与 names 表一起工作(但速度太慢)。 session 信息 -

R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=C LC_COLLATE=C LC_MONETARY=C LC_MESSAGES=C
[7] LC_PAPER=C LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=C LC_IDENTIFICATION=C

最佳答案

我应该在加载文件时更加小心,显式添加 read.table(..., encoding = "UTF-8")。否则该列的编码错误,导致 data.table 无法匹配不同编码的列。感谢@Arun 和上述 RForge 讨论的参与者指出解决方案。

关于r - 如何检查 data.table 键是否正常工作以及为什么不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com