关于R的两个问题: 1.)如果我有一个包含多个列值的数据集且其中一个列值为'test_score',那么如何排除该列的空白值(和/或非数字值)的行? (使用pie(),hist()或cor())
2)如果数据集中有一个名为“Teachers”的列,那么我如何仅为Teacher = Jones的行绘制“testscores”列?
创建不带缺失数据的单独载体:
dat.nomissing <- tenthgrade[!is.nan(Score),]
似乎有问题,因为两列必须保持配对。 我在考虑如下:
hist(!is.nan(tenthgrade$Score)[tenthgrade$Teacher=='Jones'])
然而,is.nan正在创建一个TRUE,FALSE值列表(应该如此)。
答案 0 :(得分:2)
使用下标。例如:
dat[!is.na(dat$test_score),]
hist(dat$test_score[dat$Teachers=='Jones'])
更完整的人工数据示例:
# Create artificial dataset
dat <- data.frame('test_score'=rnorm(500), 'Teachers'=sample(c('Jones', 'Smith', 'Clark'), 500, replace=TRUE))
# Introduce some random missingness
dat$test_score[sample(1:500, 50)] <- NA
# Keep if test_score is valid
dat.nomissing <- dat[!is.na(dat$test_score),]
# Plot subset of data
hist(dat$test_score[dat$Teachers=='Jones'])