我有大型CSV文件,其中包含以下数据:
OSversion,device,office,owner
10.3.2,iphone5.2,antwerpen,moti
7.0,samsung_nexus,bangkok,raman
...
然后,我将它加载到RStudio:
library(readr)
output <- read_csv
我对R很新,并且不知道从哪里开始。
我想过滤输出表并接收以下信息。
有多少具有独特操作系统版本的设备?
10.3.2 - 405
7.0 - 803
每个办公室的每个操作系统版本有多少台设备?
antwerpen, 10.3.2 - 2
antwerpen, 7.0 - 1
bangkok, 10.3.2 - 3
bangkok, 7.0 - 2
然后,描绘设备所有者。
antwerpen, moti, 10.3.2 - 1
antwerpen, esther, 10.3.2 - 1
antwerpen, esther, 7.0 - 1
bangkok, raman, 10.3.2 - 1
bangkok, ankur, 10.3.2 - 1
bangkok, arjun, 10.3.2 - 1
bangkok, arjun, 7.0 - 1
bangkok, raman, 7.0 - 1
最后,使用设备模型汇总完整的属性列表。
antwerpen, moti, 10.3.2, iphone 5.2 - 1
antwerpen, esther, 10.3.2, iphone 6.3 - 1
antwerpen, esther, 7.0, samsung_nexus - 1
bangkok, raman, 10.3.2, ipad 8.2 - 1
bangkok, ankur, 10.3.2, ipad 9.2 - 1
bangkok, arjun, 10.3.2, iphone 5.2- 1
bangkok, arjun, 7.0, samsung_note - 1
bangkok, raman, 7.0, samsung_nexus - 1
请您协助并指出如何做到这一点或向我提供此类过滤的示例?
更新
我使用group_by
将列分组为变量,并将其分配为OSversion
device
office
和owner
。然后,我能够使用此命令计算唯一的巧合:summarise(office, u_owner = n_distinct(owner), u_OSversion = n_distinct(OSversion), u_device = n_distinct(device))
但它只计算数字,而不显示实际值。
请你进一步提出建议吗?
UPDATE2:
完全解决了
ddply(df, c("office","owner","OSversion","device"), nrow)
其重复次数与唯一值一样。