2011-04-09 14 views
0

關於R的兩個問題: 1.)如果我有一個具有多個列值的數據集,其中一個列值是' test_score'我怎樣才能排除這個列的空值(和/或非數值)? (使用pie(),hist()或cor())基本R - 如何排除空白列的行,如何顯示特定列值的數據

2)如果數據集有一個名爲'Teachers'的列,那麼我怎麼可能只爲Teacher = Jones的行繪製'testscores'列?

創建不同的載體,而不丟失數據:

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

似乎有問題,因爲兩列必須保持配對。 我在想的東西,如:

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

然而,is.nan創造TRUE,FALSE值的列表(因爲它應該)。

+1

顯示的數據,或者它的模擬複製。 – 2011-04-09 18:11:54

+1

我想查看一下R隨附的手冊:http://cran.r-project.org/manuals.html。或者閱讀關於SO的R問題,所有這些事情最近都有詳細的答案。 – Chase 2011-04-09 18:14:59

+0

我向超級用戶發佈了這個問題,因爲我覺得它會在這裏不合適。這似乎有點太基本了,我覺得我應該知道如何用手頭的信息做到這一點...但是沒有。 – Donnied 2011-04-09 20:45:01

回答

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'])                  
相關問題