我有一個包含 10000 行的資料框。
Author Value
aaa 111
aaa 112
bbb 156
bbb 165
ccc 543
ccc 256
每個作者有 4 行,所以我有 2500 個作者。
我想將所有字串替換為數值。理想情況下與tidyverse.
預期產出
Author Value
1 111
1 112
2 156
2 165
3 543
3 256
---------
2500 451
2500 234
謝謝!
uj5u.com熱心網友回復:
使用match和unique:
match(dat$Author, unique(dat$Author))
# [1] 1 1 2 2 3 3
將其重新分配回原始列或新列,即您的呼叫。
如果你想把它放在一個 dplyr 管道中,那么就
dat %>%
mutate(Author = match(Author, unique(Author)))
(正如 akrun 在他們的評論中發布的那樣,我正在完成這個答案:-)。
資料
dat <- structure(list(Author = c("aaa", "aaa", "bbb", "bbb", "ccc", "ccc"), Value = c(111L, 112L, 156L, 165L, 543L, 256L)), class = "data.frame", row.names = c(NA, -6L))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/433693.html
上一篇:如何在Go中找到最長的匹配子串
