произвольно назначить 1,2 или 3 уникальной символьной строке - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть символьный вектор, и я хочу произвольно назначить числовые категории 1, 2 или 3 для каждой символьной строки в символьном векторе. Как я могу сделать это в R

Вход

Species
Species1 
Species2
Species3
Species4
Species5

Пример вывода

Species   Category
Species1  2
Species2  1 
Species3  1
Species4  3
Species5  3

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

Использование sample:

set.seed(2020)
df$Category <- sample(3, nrow(df), replace = TRUE)
df

#   Species Category
#1 Species1        3
#2 Species2        2
#3 Species3        1
#4 Species4        1
#5 Species5        2

data

df <- structure(list(Species = structure(1:5, .Label = c("Species1", 
"Species2", "Species3", "Species4", "Species5"), class = "factor")), 
class = "data.frame", row.names = c(NA, -5L))
0 голосов
/ 24 апреля 2020

Мы можем использовать dplyr

library(dplyr)
df %>%
   mutate(Category = sample(3, n(), replace = TRUE))

данные

df <- structure(list(Species = structure(1:5, .Label = c("Species1", 
"Species2", "Species3", "Species4", "Species5"), class = "factor")), 
class = "data.frame", row.names = c(NA, -5L))
...