楼主: dxystata
983 2

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

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182633 个
通用积分
15207.3899
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291465 点
帖子
5381
精华
1
在线时间
13483 小时
注册时间
2006-6-21
最后登录
2024-4-30

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

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
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 18:15