所以我试图使用dplyr withou循环来编程函数,这里有一些我不知道怎么做
假设我们有电视台(x,y,z)和月(2,3)。如果我按此分组说我们得到 此输出还具有汇总数值
TV months value
x 2 52
y 2 87
z 2 65
x 3 180
y 3 36
z 3 99
这适用于评估品牌。
然后我会有很多我需要过滤的品牌,只能获得价值> = 0.8 *评估品牌和价值的价值。 < = 1.2 *评估品牌的价值
所以例如从这个开始我只想过滤前两个,这应该对所有月份和电视组合进行
brand TV MONTH value
sdg x 2 60
sdfg x 2 55
shs x 2 120
sdg x 2 11
sdga x 2 5000
答案 0 :(得分:1)
正如@akrun所说,你需要结合使用合并和子集。这是一个基础R解决方案。
$Services = Get-WmiObject -Class Win32_Service -Filter {State != 'Running' and StartMode = 'Auto'} |
Where-Object {$Exclude -notcontains $_.Name}
数据强>
m <- merge(df, data, by.x=c("TV", "MONTH"), by.y=c("TV", "months"))
m[m$value.x >= m$value.y*0.8 & m$value.x <= m$value.y*1.2,][,-5]
# TV MONTH brand value.x
#1 x 2 sdg 60
#2 x 2 sdfg 55