基本R - 如何排除包含空白列的行,如何显示特定列值的数据

时间:2011-04-09 18:06:40

标签: r ignore

关于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值列表(应该如此)。

1 个答案:

答案 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'])