作者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/cn.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