Без использования dplyr
, если вы хотите переименовать все значения в вашем столбце ID в более короткий идентификатор (и при условии, что все ваши идентификаторы разные), вы можете написать:
df$ID <- paste0("A",1:nrow(df))
Альтернатива: использование gsub
В качестве альтернативы, если у вас есть очень длинный шаблон, который вы хотите заменить sh (например, abcdef ....), вы можете использовать gsub
:
df$ID <- gsub("abcdefghijklmnopqrstuvwxyz","A",df$ID)
Преимущество gsub
состоит в том, что, если ваш идентификатор повторяется несколько раз, он сохранит это повторение, поскольку он заменит только первую часть строки идентификатора.
Пример
a <- paste0(letters[1:26], collapse = "")
df <- data.frame(ID = paste0(a,1:100),
value = rnorm(100))
Итак, ваш df
выглядит так:
ID value
1 A1 2.6977546
2 A2 1.9434639
3 A3 0.4191808
4 A4 -0.1545246
5 A5 2.0112518
6 A6 0.5877203
...
Теперь, если вы замените строки символов ID
по следующей команде:
df$ID <- paste0("A",1:100)
или с gsub
:
df$ID <- gsub("abcdefghijklmnopqrstuvwxyz","A",df$ID)
И вы получите:
ID value
1 A1 2.6977546
2 A2 1.9434639
3 A3 0.4191808
4 A4 -0.1545246
5 A5 2.0112518
6 A6 0.5877203
...
Итак, вы сохранили все свои столбцы и значения в том же порядке, и вы просто изменяете столбец идентификатора.