连接字符串的平均值与某些条件

时间:2016-11-11 00:15:24

标签: r

我希望在某些条件下对我的连接字符串求平均值。这是我的数据:

$ cat /etc/php.ini
post_max_size = 800M 
upload_max_filesize = 800M 
max_execution_time = 5000 
max_input_time = 5000 
memory_limit = 1000M 

我想取具有特定路径的行的平均值,例如,没有c(即第1行和第3行)的行的平均值为(2 + 3) + 5)/ 3 = 3.33

和其他人类似,所以我想要的输出是

id  path    events

1    a, b    2, 3
2    c, a    3, 4
3    b       5

在此之前,我尝试了没有连接的数据并且它有效

path   avg
a       5
b       3.5
c       3.33

但无法想出这种情况

这是我的数据

output <- sapply(as.character(unique(df$path)), 
                 function(x) mean(subset(df, !path %in% x)$events))

1 个答案:

答案 0 :(得分:3)

这是一个整齐的方法:

library(tidyverse)

mydata %>% separate_rows(path, events, convert = TRUE) %>%    # unnest rows
    group_by(path) %>%    # set grouping
    summarise(avg = mean(.$events[!.$id %in% id]))    # summarize groups

## # A tibble: 3 × 2
##    path      avg
##   <chr>    <dbl>
## 1     a 5.000000
## 2     b 3.500000
## 3     c 3.333333

请注意,摘要使用.$[column name]来引用整个列,只使用[column name]来引用该组的值。