I have a large dataframe (df) that looks like this:
structure(list(var1 = c(1, 2, 3, 4, 2, 3, 4, 3, 2), var2 = c(2,
3, 4, 1, 2, 1, 1, 1, 3), var3 = c(4, 4,
This uses rowwise() and do() from dplyr but it's definitely ugly.
Not sure if there is something that can modify from this so that you get a data.frame output directly as shown over @ https://github.com/hadley/dplyr/releases.
interim_res <- df %>%
rowwise() %>%
do(out = sapply(min(df):max(df), function(i) sum(i==.)))
interim_res <- interim_res[[1]] %>% do.call(rbind,.) %>% as.data.frame(.)
Then to get intended result:
res <- cbind(df,interim_res)