Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- table <- structure(list(species = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("Adelophryne adiastola",
- "Adelophryne gutturosa"), class = "factor"), scenario = structure(c(3L,
- 1L, 2L, 3L, 1L, 2L), .Label = c("future1", "future2", "present"
- ), class = "factor"), amount = c(5L, 3L, 2L, 50L, 60L, 40L)), .Names = c("species",
- "scenario", "amount"), class = "data.frame", row.names = c(NA,
- -6L))
- > table
- species scenario amount
- 1 Adelophryne adiastola present 5
- 2 Adelophryne adiastola future1 3
- 3 Adelophryne adiastola future2 2
- 4 Adelophryne gutturosa present 50
- 5 Adelophryne gutturosa future1 60
- 6 Adelophryne gutturosa future2 40
- table %>%
- group_by(species) %>%
- mutate(tmp = amount[scenario == "present"]) %>%
- mutate(increase_amount = ifelse(amount > tmp, 1, 0))
- # Source: local data frame [6 x 5]
- # Groups: species [2]
- #
- # species scenario amount tmp increase_amount
- # <fctr> <fctr> <int> <int> <dbl>
- # 1 Adelophryne adiastola present 5 5 0
- # 2 Adelophryne adiastola future1 3 5 0
- # 3 Adelophryne adiastola future2 2 5 0
- # 4 Adelophryne gutturosa present 50 50 0
- # 5 Adelophryne gutturosa future1 60 50 1
- # 6 Adelophryne gutturosa future2 40 50 0
- table$increase_amount <- with(table, as.integer(amount > ave(amount *
- (scenario == "present"), species, FUN = function(x) x[x!=0])))
- table$increase_amount
- #[1] 0 0 0 0 1 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement