楼主: dxystata
1148 2

[问答] R中如何实现 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2013-1-4 11:59:12 |AI写论文
20论坛币
x  group
a        1
a        1
a        2
b        1
b        2
c        1
c        1
c        1
c        1
c        1
d        1
d        1
f        2
f        2
.        tab        x if group==1
                x       Freq.        Percent        Cum.
                                
                a           2        20.00        20.00
                b           1        10.00        30.00
                c           5        50.00        80.00
                d           2        20.00        100.00
                                
                Total          10        100.00
如何根据group=1 中x取值的频率从大到小得到"c a d b f",用于循环。谢谢!
注意f不能漏掉啊

关键词:如何实现 percent Group Total freq 如何

沙发
jmpamao 发表于 2013-1-4 13:12:54
xg<- read.table(text="
x  group
a        1
a        1
a        2
b        1
b        2
c        1
c        1
c        1
c        1
c        1
d        1
d        1
f        2
f        2",header=T)
xg1 <- xg$x[xg$group==1];xg1

b <- as.data.frame(table(xg1))
b <- b[order(-b$Freq,b$xg1),]

又回到那个交叉表了。。。想想!

藤椅
buxx 发表于 2013-1-4 23:04:12
xg<- read.table(text="
x  group
a        1
a        1
a        2
b        1
b        2
c        1
c        1
c        1
c        1
c        1
d        1
d        1
f        2
f        2",header=T)

library("plyr")
xg1 <- ddply(xg, "x", .fun=function(y) nrow(y[y$group==1,]))
xg2 <- xg1[order(-xg1$V1),]
xg2$x

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 18:59