【发布时间】:2021-10-10 18:56:55
【问题描述】:
背景
这是一个玩具df:
df <- data.frame(ID = c("a","b","c","d","e","f"),
gender = c("f","f","m","f","m","m"),
zip = c(48601,NA,29910,54220,NA,44663),stringsAsFactors=FALSE)
如您所见,NA 列中有几个 NA 值。
问题
我正在尝试从 df 中随机抽取 2 整行——但我希望它们是 zip 不为空的行。
我的尝试
此代码为我提供了一个基本(即非条件)随机样本:
df2 <- df[sample(nrow(df), 2), ]
当然,这只会让我实现目标的一半——很多时候它会在zip 中返回具有NA 值的行。此代码尝试添加条件:
df2 <- df[sample(nrow(df$zip != NA), 2), ]
我想我已经接近了,但这会产生错误invalid first argument。
有什么想法吗?
【问题讨论】: