由於向量和因子都只能儲存一種元素,使用上彈性較不足,在R語言中,有一彈性很大的資料型態列表list, ... 如需檢查欄位名稱與列名,可使用 colnames() 和 rownames(). ... <看更多>
「colnames r語言」的推薦目錄:
- 關於colnames r語言 在 Re: [問題] 找出各row最大值的colnames - 看板R_Language 的評價
- 關於colnames r語言 在 2 R 資料結構| 資料科學與R語言 的評價
- 關於colnames r語言 在 r data frame命名的推薦與評價,PTT和網紅們這樣回答 的評價
- 關於colnames r語言 在 [問題] 特定欄位更改名稱- 看板R_Language | PTT數位生活區 的評價
- 關於colnames r語言 在 NTUTrainRL1/RL1_1.Rmd at master - GitHub 的評價
- 關於colnames r語言 在 Treating table values as independant objects/variables - Stack ... 的評價
- 關於colnames r語言 在 Naming and renaming columns in R dataframes - YouTube 的評價
colnames r語言 在 [問題] 特定欄位更改名稱- 看板R_Language | PTT數位生活區 的推薦與評價
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) ... (例如第10行), 不知道該怎麼做,用colnames(a)<-需要把40個變數都打上去但我只想更改某 ... ... <看更多>
colnames r語言 在 NTUTrainRL1/RL1_1.Rmd at master - GitHub 的推薦與評價
除了用`c()`,R 語言還有一些比較進階的函數例如`seq()` 與`rep()` 可以幫你輕鬆產出Vector ... colNames <- names(mtcars)#把mtcars的欄位名抓出來. ... <看更多>
colnames r語言 在 Treating table values as independant objects/variables - Stack ... 的推薦與評價
... <看更多>
colnames r語言 在 Re: [問題] 找出各row最大值的colnames - 看板R_Language 的推薦與評價
※ 引述《po5113 (π)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 想找出row裡面的最大值並挑出該值的colnames
: 資料與前幾篇matrix找最大值的column name類似
: 部分資料如下:
: [,1] [,2] [,3]
: [1,] 3.490245e-11 8.579553e-05 9.999142e-01
: [2,] 3.020358e-11 7.424585e-05 9.999258e-01
: [3,] 7.690743e-12 1.890628e-05 9.999811e-01
: [4,] 8.779051e-10 2.153561e-03 9.978464e-01
: [5,] 6.732860e-20 1.655181e-13 1.000000e+00
: [6,] 9.544444e-15 2.346370e-08 1.000000e+00
: [7,] 4.519803e-13 1.111130e-06 9.999989e-01
: ...
: ...
: 不過目的在找出各row中最大值所在的column name
: 因此output中會有跟row number一樣的個數
: 有想過用apply加上colnames
: 但似乎是遇到了點瓶頸
: 想請問在處理各列單行內的資料時
: 是否有適合使用的函數或其他寫法呢?
: 感謝各位提供寶貴的意見!
:
: [關鍵字]:
: row, max, column names
根據我的測試,十萬列,apply都還很快,0.57秒而已XD
numCols <- 1e2
numRows <- 1e5
mat <- matrix(rnorm(numCols*numRows), numRows, dimnames = list(NULL,
paste0(sample(LETTERS, numCols, TRUE), 1:numCols)))
st <- proc.time()
loc_max <- apply(mat, 1, which.max)
out <- colnames(mat)[loc_max]
proc.time() - st
# user system elapsed
# 0.53 0.04 0.57
如果覺得太慢,需要加速什麼的可以試試看matrixStats:
library(matrixStats)
st <- proc.time()
loc_max <- rowOrderStats(mat, which = 1)
out2 <- colnames(mat)[loc_max]
proc.time() - st
# user system elapsed
# 0.12 0.00 0.12
all.equal(out, out2) # TRUE
只要原本的20%時間
--
R資料整理套件系列文:
magrittr #1LhSWhpH (R_Language) https://tinyurl.com/j3ql84c
data.table #1LhW7Tvj (R_Language) https://tinyurl.com/hr77hrn
dplyr(上) #1LhpJCfB (R_Language) https://tinyurl.com/jtg4hau
dplyr(下) #1Lhw8b-s (R_Language)
tidyr #1Liqls1R (R_Language) https://tinyurl.com/jq3o2g3
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.63.212
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1466080833.A.F5D.html
※ 編輯: celestialgod (211.76.63.212), 06/16/2016 21:02:53
... <看更多>