楼主: kongqunyu
1002 3

[问答] 数据分组 [推广有奖]

  • 10关注
  • 2粉丝

已卖:91份资源

副教授

37%

还不是VIP/贵宾

-

威望
0
论坛币
2977 个
通用积分
0.4469
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
14732 点
帖子
182
精华
0
在线时间
1274 小时
注册时间
2008-7-16
最后登录
2019-1-7

楼主
kongqunyu 发表于 2015-11-9 15:42:52 |AI写论文
10论坛币
有个data.frame,都是分类变量(名义变量),
第一列a有为3种情况:1,2,3;
第二列b有为2种情况:1,2;
第三列c有为4种情况:1,2,3,4;
第四分d有4种情况:1,2,3,4;
第五分e有5种情况:1,2,3,4,5;


分组的条件为:(共有:3*2*4*4*4=384组)
当a=1,b=1,c=1,d=1,e=1的时候,group=1;
当a=1,b=1,c=1,d=1,e=2的时候,group=2;
当a=1,b=1,c=1,d=1,e=3的时候,group=3;
当a=1,b=1,c=1,d=1,e=4的时候,group=4;


当a=2,b=1,c=1,d=1,e=1的时候,group=5;
当a=2,b=1,c=1,d=1,e=2的时候,group=6;
当a=2,b=1,c=1,d=1,e=3的时候,group=7;
当a=2,b=1,c=1,d=1,e=4的时候,group=8;………………



组数比较多的情况下,请问如何生成一个数据框:把各组的情况表示出来?

最佳答案

jiangbeilu 查看完整内容

这个问题,我也考虑了很久,最后发现有一个内置函数可以解决:用expand.grid函数就行了。
关键词:数据分组 Group Frame Fram Data 如何

沙发
jiangbeilu 学生认证  发表于 2015-11-9 15:42:53
这个问题,我也考虑了很久,最后发现有一个内置函数可以解决:用expand.grid函数就行了。
  1. x=1:5
  2. y=1:2
  3. z=1:3
  4. data.frame(expand.grid(x,y,z))
复制代码

藤椅
万人往LVR 在职认证  发表于 2015-11-9 16:33:22
不非要数字表示的话,直接
  1. a <- c(1,2,2,3,1)
  2. b <- c(2,2,1,1,1)
  3. c <- c(1,4,4,2,2)
  4. d <- c(3,2,4,4,2)
  5. e <- c(3,4,5,2,5)
  6. class <- paste(a,b,c,d,e)
复制代码

板凳
kongqunyu 发表于 2015-11-10 09:21:25
jiangbeilu 发表于 2015-11-9 15:42
这个问题,我也考虑了很久,最后发现有一个内置函数可以解决:用expand.grid函数就行了。
是的,谢谢。

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

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