如何创建一个名为“性别”的向量,其中 r 中的前 30 个个体是男性,其他是女性

问题描述 投票:0回答:2

我需要创建一个名为“性别”的向量,其中前 30 个人是男性,其他是女性。

我显然知道如何创建向量,但我该如何编码才能使第一个向量是男性。

谢谢,

r
2个回答
4
投票

此策略假设您已经有一个数据框,并正在创建另一个名为“该数据框内的性别”的列。将它们全部设置为“女性”,然后将前 30 个设置为“男性”:

 df$genders <- "female"
 df$genders[1:30] <- "male"

如果您想要一个独立的向量,那么接受的答案是合适的。

有点像进化的过程……首先使雌性具有完整的性激素,然后使雄性无法产生雌激素化合物。 (“X”染色体比“Y”染色体短得多,女性使用睾酮作为产生雌激素的基础。)


3
投票

您可以使用

rep
。如果您的数据称为
df
:

df$gender <- rep(c('male', 'female'), c(30, nrow(df) - 30))

如果您想创建一个向量并且不将其包含在数据框中。

n <- 100
gender <- rep(c('male', 'female'), c(30, n - 30))
© www.soinside.com 2019 - 2024. All rights reserved.