Basic R - как исключить строки с пустыми столбцами, как показать данные для определенных значений столбцов - PullRequest
0 голосов
/ 09 апреля 2011

Два вопроса о R: 1.) Если у меня есть набор данных с несколькими значениями столбцов, и одним из значений столбца является 'test_score', как я могу исключить строки с пустыми значениями (и / или нечисловыми значениями) для этого столбца? (используя pie (), hist () или cor ())

2) Если в наборе данных есть столбец с именем «Учителя», как я могу отобразить столбец «тестовые баллы» только для строк, где Учитель = Джонс?

Создание отдельных векторов без отсутствующих данных:

dat.nomissing <- tenthgrade[!is.nan(Score),]

кажется проблематичным, так как два столбца должны оставаться парными. Я думал что-то вроде:

hist(!is.nan(tenthgrade$Score)[tenthgrade$Teacher=='Jones'])

Однако is.nan создает список значений TRUE, FALSE (как и должно быть).

1 Ответ

2 голосов
/ 09 апреля 2011

Использовать подписку.Например:

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'])                                                                      
...