R csv表过滤

R csv表过滤,r,csv,R,Csv,我有一个包含以下数据的大型CSV文件: OSversion,device,office,owner 10.3.2,iphone5.2,antwerpen,moti 7.0,samsung_nexus,bangkok,raman ... 然后,我已将其加载到RStudio,其中包含: library(readr) output <- read_csv 每个办公室中每个操作系统版本有多少设备 antwerpen, 10.3.2 - 2 antwerpen, 7.0 - 1 bangkok,

我有一个包含以下数据的大型CSV文件:

OSversion,device,office,owner
10.3.2,iphone5.2,antwerpen,moti
7.0,samsung_nexus,bangkok,raman
...
然后,我已将其加载到RStudio,其中包含:

library(readr)
output <- read_csv
每个办公室中每个操作系统版本有多少设备

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
你能帮我指点一下怎么做,或者给我举一个这样的过滤的例子吗

更新:

我使用
groupby
将列分组为变量,并将它们分配为
OSversion
设备
办公室
所有者
。然后,我可以使用这个命令来计算唯一的巧合:
summary(office,u_owner=n_distinct(owner),u_OSversion=n_distinct(OSversion),u_device=n_distinct(device))
但它只计算数字,不显示实际值

你能提出进一步的建议吗

更新2:

完全由
ddply(df,c(“办公室”、“所有者”、“OSversion”、“设备”),nrow)

它计算唯一值,就像计算重复次数一样。

大多数答案都可以使用dplyr/tidyr(尤其是group_by和您的案例摘要)获得检查:@timfaber感谢您提供的有用链接!我使用
groupby
将列分组为变量,并将它们分配为
OSversion
设备
办公室
所有者
。然后,我可以使用这个命令来计算唯一的巧合:
summary(office,u_owner=n_distinct(owner),u_OSversion=n_distinct(OSversion),u_device=n_distinct(device))
但它只计算数字,不显示实际值。你能提出进一步的建议吗?应该代表什么价值观?可以设置
summary(…drop=FALSE)
以保留剩余的columns@timfaber现在它以这种方式向我显示结果,只计算唯一的匹配
1安特卫普35 4
,但我想这样描述它:
安特卫普,莫蒂,10.3.2,iphone 5.2-1
不仅描述了匹配的数量,还描述了相关列中的对应值如果我阅读了上面的示例并运行了下面的示例(加载了包:tidyverse)
df%>%groupby(办公室、所有者、OSversion、设备)%%>%summary(m=n_distinct(owner))
我明白你的意思。
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