【发布时间】:2020-04-23 03:04:09
【问题描述】:
我有一个字符向量,我想为字符向量中的每个字符串随机分配数字类别 1、2 或 3。我怎么能在R中做到这一点
输入
Species
Species1
Species2
Species3
Species4
Species5
示例输出
Species Category
Species1 2
Species2 1
Species3 1
Species4 3
Species5 3
【问题讨论】:
我有一个字符向量,我想为字符向量中的每个字符串随机分配数字类别 1、2 或 3。我怎么能在R中做到这一点
输入
Species
Species1
Species2
Species3
Species4
Species5
示例输出
Species Category
Species1 2
Species2 1
Species3 1
Species4 3
Species5 3
【问题讨论】:
使用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
数据
df <- structure(list(Species = structure(1:5, .Label = c("Species1",
"Species2", "Species3", "Species4", "Species5"), class = "factor")),
class = "data.frame", row.names = c(NA, -5L))
【讨论】:
我们可以使用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))
【讨论】: