【发布时间】:2018-07-19 12:36:12
【问题描述】:
试图通过随机分配来替换人口统计值。
我可以通过执行以下操作获得空的性别数据行:
df$gender[df$gender == "",]
user_id, name, age, gender
001, xyz, 23,
004, abc, 32,
我想随机分配性别:
sample(c('male', 'female'), nrow(df$gender[df$gender == ""]), replace=TRUE, prob=c(0.5, 0.5))
试过以下:
df$gender[df$gender == ""] <- sample(c('male', 'female'), nrow(df$gender[df$gender == ""]), replace=TRUE, prob=c(0.5, 0.5))
这仅分配给少数单元格,但不是全部。
【问题讨论】:
-
您应该使用
length而不是nrow,或者更好的是sum(df$gender=="",na.rm=TRUE)。 -
您可以发布示例数据吗?请使用
dput(df)的输出编辑问题。或者,如果dput(head(df, 20))的输出太大。
标签: r random categorical-data