作者phil5566 (5566)
看板R_Language
標題[問題] table()函數問題
時間Tue Dec 27 02:11:03 2016
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
新手
[問題敘述]:
假設資料是T,A<-table(T),b<-cumsum(A)/sum(A),希望把A用來分類的factor取出來,
當成一個向量a,把a和b組成2*10的矩陣,因為後續計算會用的到,求高手指教
[程式範例]:
例如:T<-c(1:10)
希望達成
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 2 3 4 5 6 7 8 9 10
[2,] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
以上的效果
[環境敘述]:
win 7/R3.3.1
[關鍵字]:
table(),cumsum(),sum()
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.17.110
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1482775866.A.559.html
1F:→ andrew43: 你是指 T <- 1:10; dimnames(table(T))$T 嗎? 12/27 02:29
2F:推 koai: rbind(as.double(names(A)),a) 12/27 07:21
3F:推 f496328mm: prop.table(table(T)) 12/27 12:22
4F:→ f496328mm: x=c(1:10) 12/27 12:24
5F:→ f496328mm: cumsum( prop.table( table(x) ) ) 12/27 12:24
6F:→ phil5566: 回andrew43大,您的方法取出來後,無法和其他向量作運算 12/27 14:49
7F:→ phil5566: 回koai大,你的方法,我有成功!!! 12/27 15:01
8F:→ phil5566: 回f496328mm大,我您的方法,作完後好像還table的型式 12/27 15:02
9F:→ phil5566: 不是矩陣的型式,謝謝版上高手指教,我學很到很多,感謝 12/27 15:04
10F:→ phil5566: 附上小弟後來的作法以及跑出來的結果 12/27 16:18
11F:→ phil5566: f<-as.double(names(table(T[,6]))) 12/27 16:19
12F:→ phil5566: e<-data.frame(cumsum(table(T[,6]))/sum(table(T[,6])) 12/27 16:20
13F:→ phil5566: D<-rbind(f,e[,1]) 12/27 16:20
15F:→ phil5566: rbind的結果好像怪怪的,列的部分為何不是顯示"[1] [2]" 12/27 16:24
16F:→ phil5566: 而是顯示"f " 12/27 16:25
17F:→ phil5566: 有人有更好的作法嗎?謝謝 12/27 16:26
18F:→ andrew43: 不順眼的話 rownames(D) <- NULL 洗掉即可 12/27 16:58
19F:→ andrew43: 那是rbind()附帶的效果 12/27 16:59
20F:推 f496328mm: 你最後做完D 再加上 12/27 17:46
21F:→ f496328mm: matrix(D,ncol=ncol(D)) 12/27 17:47
22F:→ f496328mm: f應該就沒了 12/27 17:47
23F:→ phil5566: 讚讚讚~ok了 12/27 18:07