Re: [問題] 詢問.colSums的用法
※ 引述《a78998042a (Benjimine)》之銘言:
: - 問題: 當你想要問問題時,請使用這個類別
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 使用者(已經有用R 做過不少作品)
: [問題敘述]:
: 不懂.colSums的用法
: [程式範例]:
: x = y = 1:10
: temp.m = outer(x, y, function(x, y) x+y)
: c[1:3, 1:2]
: [,1] [,2]
: [1,] 2 3
: [2,] 3 4
: [3,] 4 5
: .colSums(temp.m, 3, 2)
: [1] 9 18
: #原本我以為答案會是 9 12
: #但結果不是,.colSums 後面兩個參數是維度,不知道該怎麼用
: #有人知道他設定的方法嗎? 感謝!
.colSums剛剛試了一下 是以從你產生的那個矩陣的第一列
要加幾次做一欄加總
舉例你產生的矩陣
第一列是 2 3 4 5 6 7 8 9 10 11
你的 .colSums(temp.m, 3,2)
3 指的是 取三個相加做為一欄加總
2 指的是 取兩欄
所以結果是 2 + 3 + 4 = 9 (前三個當第一欄)
5 + 6 + 7 = 18 (後三個當第二欄)
你可以測試其他數值填入
例如: .colSums(temp.m, 4,2) 他就會取四個數當一組作為一欄
就變成 2 + 3 + 4 + 5 = 14 第一欄
6 + 7 + 8 + 9 = 30 第二欄
那也可以再崩潰一點測試: .colSums(temp.m, 8,2)
那他就是從第一列開始取8個元素 不夠取下一列
2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 44
10 + 11 + 3 + 4 + 5 + 6 + 7 + 8 = 54
(10,11這邊還在第一列) (3...開始就是開始取第二列元素)
以上大概是這個函數的用法
至於你問的 temp.m[1:3,1:2] 產生出來的 跟那個函數沒關係
你應該直接用colSums 前面不要加 "."
code:
colSums(temp.m[1:3,1:2])
就可以得到你想要的結果 9 12
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.134.137
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1444578927.A.8B2.html
※ 編輯: OGCKM (36.231.134.137), 10/11/2015 23:55:59
※ 編輯: OGCKM (36.231.134.137), 10/12/2015 00:00:34
推
10/12 02:17, , 1F
10/12 02:17, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章