我的数据如下:
ID Test Type Subject Marks
1 Unit test 1 English 85
2 Unit test 1 English 75
3 Unit test 1 English 78
1 Unit test 2 English 85
2 Unit test 2 English 75
3 Unit test 2 English 78
1 Unit test 1 Maths 78
2 Unit test 1 Maths 79
3 Unit test 1 Maths 98
1 Unit test 2 Maths 95
2 Unit test 2 Maths 98
3 Unit test 2 Maths 88
我想按“测试类型”和“主题”拆分数据。我应该使用什么功能?我想要的结果是:
data frame 1:
ID Test Type Subject Marks
1 Unit test 1 English 85
2 Unit test 1 English 75
3 Unit test 1 English 78
data frame 2:
ID Test Type Subject Marks
1 Unit test 2 English 85
2 Unit test 2 English 75
3 Unit test 2 English 78
data frame 3 :
ID Test Type Subject Marks
1 Unit test 1 Maths 78
2 Unit test 1 Maths 79
3 Unit test 1 Maths 98
data frame 4:
ID Test Type Subject Marks
1 Unit test 2 Maths 95
2 Unit test 2 Maths 98
3 Unit test 2 Maths 88
另一个简单的解决方案是使用by
:
list.df <- by(df, INDICES = list(df$Test.Type, df$Subject), FUN = data.frame)
结果
> list.df
: Unit test 1
: English
ID Test.Type Subject Marks
1 1 Unit test 1 English 85
2 2 Unit test 1 English 75
3 3 Unit test 1 English 78
--------------------------------------------------------------------------------------------------
: Unit test 2
: English
ID Test.Type Subject Marks
4 1 Unit test 2 English 85
5 2 Unit test 2 English 75
6 3 Unit test 2 English 78
--------------------------------------------------------------------------------------------------
: Unit test 1
: Maths
ID Test.Type Subject Marks
7 1 Unit test 1 Maths 78
8 2 Unit test 1 Maths 79
9 3 Unit test 1 Maths 98
--------------------------------------------------------------------------------------------------
: Unit test 2
: Maths
ID Test.Type Subject Marks
10 1 Unit test 2 Maths 95
11 2 Unit test 2 Maths 98
12 3 Unit test 2 Maths 88
然后,您可以使用list.df[[1]]
通过访问每个单独的数据框list.df[[4]]
。
(感谢Richard Scrivendput
在回答中提供了数据。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句