楼主: xkdog
11384 7

[问答] 如何利用split()函数将数据按两个维度来分组? [推广有奖]

  • 7关注
  • 21粉丝

教师

已卖:2409份资源

副教授

67%

还不是VIP/贵宾

-

威望
0
论坛币
9731 个
通用积分
29.3654
学术水平
56 点
热心指数
57 点
信用等级
30 点
经验
27071 点
帖子
565
精华
0
在线时间
979 小时
注册时间
2005-11-27
最后登录
2024-11-26

楼主
xkdog 发表于 2016-1-13 00:27:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


我有这样一个双因子方差分析的数据,双因子为Age(younger VS olded)和Process(下面有5个水平),因变量为Words。实验共10个处理组合,每组10人。原数据为长格式,只有三列,Age, Process, Words。前20行数据如下:

AgeProcessWords
YoungerCounting

8

YoungerCounting

6

YoungerCounting

4

YoungerCounting

6

YoungerCounting

7

YoungerCounting

6

YoungerCounting

5

YoungerCounting

7

YoungerCounting

9

YoungerCounting

7

YoungerRhyming

10

YoungerRhyming

7

YoungerRhyming

8

YoungerRhyming

10

YoungerRhyming

4

YoungerRhyming

7

YoungerRhyming

10

YoungerRhyming

6

YoungerRhyming

7

YoungerRhyming

7



现在想利用split()函数,按Age的取值和Process的取值分组,每组10人。可是看了看split的说明,似乎只有按一个维度分组的做法。

比如输入如下语句:
  1. m <- read.csv("memory.csv")
  2. split(m, m$Process)
复制代码


此时分成5组,每组20人,不考虑性别。

我想加入年龄的信息,也不知道怎么加进去,请教各位。谢谢!

数据在这:

memory.rar (363 Bytes) 本附件包括:
  • memory.csv



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:split counting Process Young Count 如何

回帖推荐

ntsean 发表于2楼  查看完整内容

split(data, list(data$Age, data$Process))
已有 1 人评分学术水平 信用等级 收起 理由
suimong + 5 + 5 非常好的提问,问题表述详尽清晰,自己也作.

总评分: 学术水平 + 5  信用等级 + 5   查看全部评分

本帖被以下文库推荐

沙发
ntsean 发表于 2016-1-13 08:10:23
split(data, list(data$Age, data$Process))
已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 精彩帖子
xkdog + 10 + 5 + 5 + 5 精彩帖子
求证1加1 + 1 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 10  学术水平 + 5  热心指数 + 6  信用等级 + 5   查看全部评分

藤椅
xkdog 发表于 2016-1-13 12:29:45
ntsean 发表于 2016-1-13 08:10
split(data, list(data$Age, data$Process))
谢谢!

那要是在拆分完后,要对每个维度下的Words数据做一次正态性检验 ,有没有一次性的函数?

感觉这个不太好用lapply()这些函数啊,每个拆分后的数据仍然有Age和Process,而正态性检验只能针对Words来做。

板凳
cheetahfly 在职认证  发表于 2016-1-13 13:33:34
xkdog 发表于 2016-1-13 12:29
谢谢!

那要是在拆分完后,要对每个维度下的Words数据做一次正态性检验 ,有没有一次性的函数?
  1. split(m[,3], list(m[,1],m[,2]))
复制代码
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
xkdog + 10 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 10  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

报纸
男孩泪 发表于 2016-1-13 13:57:28
新人,数据下载不下来呀

地板
xkdog 发表于 2016-1-13 14:12:52
cheetahfly 发表于 2016-1-13 13:33
厉害厉害,谢大神!我一会再研究下怎么利用plyr包来实现,谢谢了!

7
xkdog 发表于 2016-1-13 14:41:31
男孩泪 发表于 2016-1-13 13:57
新人,数据下载不下来呀
http://www.statsci.org/data/general/eysenck.txt

这可以直接下载

8
大白zero 发表于 2018-11-6 10:53:55
你好,我用了你们的这个方法处理了一下数据,您的这个数据用split(data,list(data$Age,data$Process))是可以成功的,但我用这个函数处理另一个我自己的数据,就会出现一点问题,拆分的列表会出现一些里面没有数据的列表
[1] name  oa    xmmc  xmbh  date  level
<0 行> (或0-长度的row.names)

您知道这是什么原因吗

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 06:15