假设我有一个数据框
Id Name Price sales Profit Month Category Mode Supplier
1 1 A 2 5 8 1 X K John
2 1 A 2 6 9 2 X K John
3 1 A 2 5 8 3 X K John
4 2 B 2 4 6 1 X L Sam
5 2 B 2 3 4 2 X L Sam
6 2 B 2 5 7 3 X L Sam
7 3 C 2 5 11 1 X M John
8 3 C 2 5 11 2 X L John
9 3 C 2 5 11 3 X K John
10 4 D 2 8 10 1 Y M John
11 4 D 2 8 10 2 Y K John
12 4 D 2 5 7 3 Y K John
13 5 E 2 5 9 1 Y M Sam
14 5 E 2 5 9 2 Y L Sam
15 5 E 2 5 9 3 Y M Sam
16 6 F 2 4 7 1 Z M Kyle
17 6 F 2 5 8 2 Z L Kyle
18 6 F 2 5 8 3 Z M Kyle
Run Code Online (Sandbox Code Playgroud)
我想用xtabs,tapply,table或其它任何功能,这将给我的表中的每个不同的类别X,Y,Z(SO 3个表)分开.每个表都是供应商与模式(即每个供应商有多少不同的产品在那里)它看起来有点像这样.
Category X
Mode
Supplier K L M
John 4 1 1
Sam 0 3 0
Kyle 0 0 0
Category Y
Mode
Supplier K L M
John 2 0 1
Sam 0 1 2
Kyle 0 0 0
Category Z
Run Code Online (Sandbox Code Playgroud)
等等.
table(df$Supplier,df$Mode)
Run Code Online (Sandbox Code Playgroud)
给出供应商在哪种模式下使用的次数,但它没有给出3个表,它将所有表组合在一起.那么我能做些什么来拥有3个独立的表而不仅仅是一个表?
使用表格,您可以:
with(df,table(Supplier,Mode,Category))
Run Code Online (Sandbox Code Playgroud)
产量
, , Category = X
Mode
Supplier K L M
John 4 1 1
Kyle 0 0 0
Sam 0 3 0
, , Category = Y
Mode
Supplier K L M
John 2 0 1
Kyle 0 0 0
Sam 0 1 2
, , Category = Z
Mode
Supplier K L M
John 0 0 0
Kyle 0 1 2
Sam 0 0 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
926 次 |
| 最近记录: |