lar*_*y77 4 string r vector unique
我对所看到的感到非常困惑。\n我读了一个 Excel 文件,当我查看一列字符串中的唯一值时,我不明白结果。
\n我可以在一个最小的表示中重现这一点(见下文):为什么 dd 有两个独特的元素,而 dd2 只有一个?
\n任何建议表示赞赏。
\ndd <- c("\xef\xbb\xbfGrant", "Grant")\n\n\ndd2 <- c("Grant", "Grant")\n\nunique(dd)\n#> [1] "\xef\xbb\xbfGrant" "Grant"\nlength(unique(dd))\n#> [1] 2\n\nunique(dd2)\n#> [1] "Grant"\nlength(unique(dd2))\n#> [1] 1\n\nsessionInfo()\n#> R version 4.1.1 (2021-08-10)\n#> Platform: x86_64-pc-linux-gnu (64-bit)\n#> Running under: Debian GNU/Linux 11 (bullseye)\n#> \n#> Matrix products: default\n#> BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0\n#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0\n#> \n#> locale:\n#> [1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C \n#> [3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8 \n#> [5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 \n#> [7] LC_PAPER=en_GB.UTF-8 LC_NAME=C \n#> [9] LC_ADDRESS=C LC_TELEPHONE=C \n#> [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C \n#> \n#> attached base packages:\n#> [1] stats graphics grDevices utils datasets methods base \n#> \n#> loaded via a namespace (and not attached):\n#> [1] knitr_1.33 magrittr_2.0.1 rlang_0.4.11 fansi_0.5.0 \n#> [5] stringr_1.4.0 styler_1.5.1 highr_0.9 tools_4.1.1 \n#> [9] xfun_0.25 utf8_1.2.2 withr_2.4.2 htmltools_0.5.1.1\n#> [13] ellipsis_0.3.2 yaml_2.2.1 digest_0.6.27 tibble_3.1.3 \n#> [17] lifecycle_1.0.0 crayon_1.4.1 purrr_0.3.4 vctrs_0.3.8 \n#> [21] fs_1.5.0 glue_1.4.2 evaluate_0.14 rmarkdown_2.10 \n#> [25] reprex_2.0.1 stringi_1.7.3 compiler_4.1.1 pillar_1.6.2 \n#> [29] backports_1.2.1 pkgconfig_2.0.3\nRun Code Online (Sandbox Code Playgroud)\n由reprex 包于 2021-09-13 创建(v2.0.1)
\n原始值似乎不同,可能来自复制
sapply(dd, charToRaw)
$`Grant`
[1] ef bb bf 47 72 61 6e 74
$Grant
[1] 47 72 61 6e 74
Run Code Online (Sandbox Code Playgroud)
而与dd2,它是相同的
sapply(dd2, charToRaw)
Grant Grant
[1,] 47 47
[2,] 72 72
[3,] 61 61
[4,] 6e 6e
[5,] 74 74
Run Code Online (Sandbox Code Playgroud)
第一种情况似乎有一个额外的字符
nchar(dd)
[1] 6 5
Run Code Online (Sandbox Code Playgroud)
如果我们删除第一个字符,unique将是 1
unique(c(substring(dd[1],2), dd[2]))
[1] "Grant"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |