這是我打算做(對於相當多的變量和數據集):循環:變量的選擇相關函數r中
mygroupdf <- data.frame (varname = c("A", "B", "c1", "D2",
"E", "F", "g1"), group = c(1, 1, 1, 2,3,3,4))
> mygroupdf
varname group
1 A 1
2 B 1
3 c1 1
4 D2 2
5 E 3
6 F 3
7 g1 4
該數據幀只包含對變量分組的信息:
group 1 = A, B, c1
group 2 = D2
group 3 = E, F
group 4 = g1
第二個數據集 - 包含實際數據
set.seed(1234)
dataf <- data.frame (yvar = rnorm (10, 10,3),
A = sample(c(1,0), 10, T), B = sample(c(1,0), 10, T),
c1 = sample (c(1,0), 10, T), D2 = sample (c(1,0), 10, T),
E= sample (c(1,0), 10, T),F = sample (c(1,0), T),
g1 = sample (c(1,0), 10, T))
# manual workout:
xtemp <- dataf$A* dataf$B * dataf$c1 # all from group 1
# I error in previous version it is * not +
# (is product of all members of a group i.e.
xtemp <- dataf$D2 (- group 2)
xtemp <- dataf$E * dataf$F (- group 3)
xtemp <- dataf$G (- group 4)
隨後的相關性與Yvar產品:
x <- cor(dataf$yvar, xtemp)
我想把它換到一個函數,這樣我可以在我的數據集將其應用於1000組的變量。
corrfun <- function (x, V1, V2, V3) {
xtemp <- V1 * V2 + V3
x <- cor(dataf$yvar, xtemp)
return (x)
}
由於不同的羣體有不同的變量,我不知道我怎樣才能建立這樣一個功能,適用於整個數據集。請幫助 !
編輯:過程:
不確定我跟着你說不同的羣體有不同的變量。既然這是'data.frame',是不是會變得一樣?你在談論不同的變量名稱嗎? – Maiasaura 2012-08-02 21:25:24
@Maiasaura請參閱我最近的編輯,實際上我在創建xtemp時有錯誤的是「*」而不是「+」。 – SHRram 2012-08-02 21:36:44
有兩個數據集。問題是創建變量xtemp的時候,可能有n個變量。 – SHRram 2012-08-02 21:38:04