2011-10-13 40 views
3

我想比較兩組受試者(0,1),但要確保我觀察到的差異不是由於第三個變量造成的,這在兩組之間有顯着差異。組1比組0小得多,所以我猜想選擇組0中與組之間的第三個變量最匹配的一組受試者的子集是最佳的。在一個完美的世界裏,我猜想這個附加組件會從這兩個組中選擇一個子集,這個子集既可以最大化主題數量,也可以匹配組之間的第三個變量。有沒有可以幫助我做到的附加組件。如果不是的話,你們可能會知道通過一些聰明的編碼達到相同效果的有效方法。當然,如果我可以根據基於多個變量的相似性參數來匹配這些組,那麼它會更好。是否有附加組件允許我創建根據一個或多個標準匹配的組?

+1

@romunov指出,matchit軟件包應該讓你在那裏。 –

+0

我不清楚:這是一個壞問題在哪些方面?從統計的角度來看,它的表達方式並不是特別熟練,但它似乎與統計學相比更加相關。另一方面,這並沒有很多關於示例數據和統計目標的細節,不管措辭如何。邁克:最好先統計一下統計問題,然後統計一下。您也可以在那裏解決軟件包問題。 – Iterator

回答

0

看看sampling包。我相信這是做這些事情最全面的特色。無論如何,這裏是一個工作的例子:

require(sampling) 
set.seed(12345) 

# Set number of subjects 
n = 1000 

# Generate data 
group = factor(sample(c(0,0,1), n, replace=T)) 
x = 0.2 * as.numeric(group) + rnorm(n) 

data = data.frame(group, x) 

# Demonstrate the significant group effect 
summary(lm(x ~ group, data=data)) 

# Let's say we want a sample with 50 subjects in each group 
pik = inclusionprobastrata(as.numeric(data$group), c(50, 50)) 
picks = balancedstratification(cbind(data$x), as.numeric(data$group), pik) 

# Pick out our balanced sample 
new.data = data[picks==1, ] 

# Demonstrate that the group effect is gone 
summary(lm(x ~ group, data=new.data)) 
相關問題