Re: [程式] R矩陣計算問題
※ 引述《Ares0628 (SHOW HAND)》之銘言:
: [軟體程式類別]:
: R
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 新手(不到1個月)
: [問題敘述]:
: 一. X=c('abc23','abc2254','abk2225','abc1414','abc1414')
: 要如何讓他照字母數字排序成 abc23 abc1414 abc1414 abc2225 abk2254
: 用sort排列只會一個一個字元比較
: 二.我想利用A矩陣 另外生成矩陣B
: 比較第一行資料名字若相同 則合併成一列計算 (這邊用sum為例子)
: A=data.frame(matrix(0,5,4))
: A[,1]=c('abc23','abc23','abc25','abc25','abc28')
: A[,2]=c(20,60,40,90,20)
: A[,3]=c(3,5,1,9,2)
: A[,4]=c(600,800,100,500,200)
: A
: X1 X2 X3 X4
: 1 abc23 20 3 600
: 2 abc23 60 5 800
: 3 abc25 40 1 100
: 4 abc25 90 9 500
: 5 abc28 20 2 200
: B
: X1 X2 X3 X4
: 1 abc23 80 8 1400
: 2 abc25 130 10 600
: 3 abc28 20 2 200
A <- A[order(A[,1]) , ]
B <- cbind ( unique(A[,1]) , tapply(A[,2],A[,1],sum) ,
tapply(A[,3],A[,1],sum) , tapply(A[,4],A[,1],sum) )
為了解這個問題 , 我之前花了一個禮拜 (弱)
(P.S. 矩陣裡面不能有 Missing value 或 NA)
另一種寫法是用 tapply 找到 index
再用 index 叫出特定 matrix
再用 colSums()
不過我懶的寫了....
: 三.初學R遇到問題都不曉得該用那些函數 有哪些函數可以用 即使HELP也不知道該查什麼
: 請問一下遇到問題的時候 要怎樣知道我該去找哪個函數來用??或是有什麼技巧嗎
如果是要找特定統計功能
google " XXXX method with R"
如果是跟 Coding 有關的
我也很苦惱找不到好的書....
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.177.3
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 14:38)
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 14:39)
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 14:40)
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 14:40)
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 14:42)
※ 編輯: gsuper 來自: 140.113.239.247 (07/11 17:09)
※ 編輯: gsuper 來自: 140.113.239.247 (07/11 17:10)
→
07/11 17:54, , 1F
07/11 17:54, 1F
→
07/11 18:01, , 2F
07/11 18:01, 2F
※ 編輯: gsuper 來自: 140.113.177.3 (07/11 23:44)
討論串 (同標題文章)