我有这样的数据框:
Port Type
1 Port1 ssh
2 Port1 ftp
3 Port2 http
4 Port1 http
5 Port2 ssh
6 Port3 ssh
7 Port3 https
8 Port4 http
9 Port2 ftp
10 Port3 ssh
11 Port3 ftp
12 Port4 ssh
我希望有这样的总和:
Port ssh ftp http https
Port1 1 1 1 0
Port2 1 1 1 0
Port3 2 1 0 1
Port4 1 0 0 1
我选择了R,因为还有其他一些数字值的列,我可以使用R来非常方便地计算均值/中值/分位数。我搜索并找到了这个:Sum of rows based on column value,但是那里的代码似乎只对数字元素起作用。
非常感谢你的回答。
答案 0 :(得分:2)
我们可以使用table
table(df1)
# Type
#Port ftp http https ssh
# Port1 1 1 0 1
# Port2 1 1 0 1
# Port3 1 0 1 2
# Port4 0 1 0 1
其他选项包括dcast
library(reshape2)
dcast(df1, Port~Type, value.var='Type', length)