Re: [問題] 多筆資料運算Pearson相關系數

看板R_Language作者 (討厭有好心推文後刪文者)時間9年前 (2015/06/11 12:21), 9年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
你的想法是可行的。不過我用 apply 改寫一下,但意思一樣。 # 以下設計一個 data frame 叫 dat,欄數和列數和你的不同,但結構應該相似。 name <- c("a", "b", "c") mat <- as.data.frame(matrix(rnorm(24), 3)) dat <- cbind(name, mat) # 利用 apply 逐列算出相關係數,存成 cor.pearson cor.pearson <- apply(dat[, -1], 1, function(x){ cor(x[1:4], x[5:8]) # 1:4 5:8 你要改成1:30 31:60 #(如果 X 和 Y 排列像你的例子一模一樣的話) }) # 建立一個 data frame 方便讀取結果 data.frame(name = dat$name, cor.pearson) ※ 引述《Shadowy (+ing)》之銘言: : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : : 新手(沒寫過程式,R 是我的第一次) : : [問題敘述]: : : 各位先進好: : 我有50萬筆資料,每一筆資料有30組(X,Y)的數據, : 想要針對每一筆的X,Y運算Pearson相關係數, : 資料格式,如下: : Name X1 X2 ... X30 Y1 Y2 ... Y30 : . : . : . : . : 共50萬筆 : 欲輸出格式為: : (Name) (Pearson's cor) : 因為沒有太多的程式撰寫經驗, : 目前的想法是: : 先抓取每一列1~30個值為X向量,31~60個值為Y向量, : 進行cor(X, Y, use="complete", method="pearson")運算Pearson相關係數, : 再利用迴圈運算50萬筆資料。 : 請問先進,我應該如何開始撰寫這樣的語法呢? : 還是我應該改變匯入資料的格式呢? : 再麻煩各位先進指教! : 謝謝大家~ : [環境敘述]: : : R version 3.2.0 (2015-04-16) : Platform: i386-w64-mingw32/i386 (32-bit) : : [關鍵字]: : : Peearson相關係數 : -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.128.117.75 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1433996493.A.EEB.html ※ 編輯: andrew43 (140.128.117.75), 06/11/2015 12:23:10

06/11 16:11, , 1F
謝謝a大,我會再試試的 :)
06/11 16:11, 1F
文章代碼(AID): #1LUGpDxh (R_Language)
文章代碼(AID): #1LUGpDxh (R_Language)