Guest User

Untitled

a guest
Oct 23rd, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. # Create sample data
  2. my_df <- data.frame(seq(1, 100), rep(c("ind_1", "", "", ""), times = 25), rep(c("", "ind_2", "", ""), times = 25), rep(c("", "", "ind_3", ""), times = 25), rep(c("", "", "", "ind_4"), times = 25))
  3.  
  4. # Rename columns
  5. names(my_df)[names(my_df)=="seq.1..100."] <- "value"
  6. names(my_df)[names(my_df)=="rep.c..ind_1................times...25."] <- "ind_1"
  7. names(my_df)[names(my_df)=="rep.c......ind_2............times...25."] <- "ind_2"
  8. names(my_df)[names(my_df)=="rep.c..........ind_3........times...25."] <- "ind_3"
  9. names(my_df)[names(my_df)=="rep.c..............ind_4....times...25."] <- "ind_4"
  10.  
  11. # Replace empty elements with NA
  12. my_df[my_df==''] = NA
  13.  
  14. # Create a vector with all individuals
  15. individuals <- c("ind_1", "ind_2", "ind_3", "ind_4")
  16.  
  17. # Calculate aggregates for each individual
  18. for (i in individuals){
  19. ind <- 1
  20. sum_i <- aggregate(value~ind_1, data = my_df, sum)
  21. print(paste("Individual", i, "possesses an aggregated value of", sum_i$value))
  22. ind <- ind + 1
  23. }
Add Comment
Please, Sign In to add comment