Создать группу и указать время c означает в R - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть набор данных панели в длинном формате. Я пытаюсь создать объект с указанием периода и группы c, чтобы создать конкретный c график.

Набор данных выглядит примерно так:

id <- c(1, 1, 2, 2, 3, 3)
yes.perc <- c(66.7, 60.1, 50, 38.2, 55.3, 49)
ref.code <- c(6040,6041,6040,6041,6040,6041)
treat <- c(1,0,1,0,1,0)
year <- c(2010, 2012, 2010, 2012, 2010, 2012)
df <- as.data.frame(c(id, yes.perc, ref.code, treat, year)

Одна из вещей, которые я попробовал, была такой:

means.t <- c(mean(df$yes.perc [df$year==2010&df$treat==1]),
mean(df$yes.perc [df$year==2012&df$treat==1]))
means.c <- c(mean(df$yes.perc [df$year==2010&df$treat==0]),
mean(df$yes.perc [df$year==2012&df$treat==0]))

Я также попробовал это:

df %>% group_by(year, treat)%>% summarise(year.mean=mean(yes.perc))

Все, что я получаю, это NA, и я не понимаю, почему

Большое спасибо за помощь!

1 Ответ

0 голосов
/ 20 апреля 2020
library(dplyr)

id <- c(1, 1, 2, 2, 3, 3)
yes.perc <- c(66.7, 60.1, 50, 38.2, 55.3, 49)
ref.code <- c(6040,6041,6040,6041,6040,6041)
treat <- c(1,0,1,0,1,0)
year <- c(2010, 2012, 2010, 2012, 2010, 2012)
df <- data.frame(id, yes.perc, ref.code, treat, year)
df %>% group_by(year, treat)%>% summarise(year.mean=mean(yes.perc))
#> # A tibble: 2 x 3
#> # Groups:   year [2]
#>    year treat year.mean
#>   <dbl> <dbl>     <dbl>
#> 1  2010     1      57.3
#> 2  2012     0      49.1

Создано в 2020-04-20 пакетом представ (v0.3.0)

Это решает вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...