Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. # install.packages("install.load") # install in order to use the load_package function
  2. install.load::load_package("data.table", "gsubfn", "fpCompare")
  3.  
  4. # function to convert from fractions and numeric numbers to numeric (decimal)
  5. # Source 1 begins
  6. to_numeric <- function(n) {
  7. p <- c(if (length(n) == 2) 0, as.numeric(n), 0:1)
  8. p[1] + p[2] / p[3]
  9. }
  10. # Source 1 ends
  11.  
  12. max_size_aggr <- 3 / 4
  13.  
  14. water_nonair <- structure(list(`Slump (in.)` = c("1 to 2", "3 to 4", "6 to 7",
  15. "Approximate amount of entrapped air in nonair- entrained concrete (%)"), `3/8 in.` =
  16. c(350, 385, 410, 3), `1/2 in.` = c(335, 365, 385, 2.5), `3/4 in.` = c(315, 340, 360, 2),
  17. `1 in.` = c(300, 325, 340, 1.5), `1 1/2 in.` = c(275, 300, 315, 1), `2 in.` =
  18. c(260, 285, 300, 0.5), `3 in.` = c(220, 245, 270, 0.3), `6 in.` = c(190, 210, NA, 0.2)),
  19. .Names = c("Slump (in.)", "3/8 in.", "1/2 in.",
  20. "3/4 in.", "1 in.", "1 1/2 in.", "2 in.", "3 in.", "6 in."), row.names = c(NA, -4L),
  21. class = c("data.table", "data.frame"))
  22.  
  23. setnames(water_nonair, c("Slump (in.)", "3/8 in.", "1/2 in.", "3/4 in.", "1 in.",
  24. "1 1/2 in.", "2 in.", "3 in.", "6 in."))
  25.  
  26. water_nonair_col_numeric <- gsub(" in.", "", colnames(water_nonair)[2:ncol(water_nonair)])
  27.  
  28. water_nonair_col_numeric <- sapply(strapplyc(water_nonair_col_numeric, "\d+"), to_numeric)
  29. # Source 1
  30.  
  31. water_nonair_column <- which(water_nonair_col_numeric %==% max_size_aggr)+1L
  32. # [1] 4
  33.  
  34. water_nonair[2, water_nonair_column][[1]]
  35. # [1] 4
  36.  
  37. water_nonair[2, 4][[1]]
  38. # [1] 340
  39.  
  40. water_nonair[2, which(water_nonair_col_numeric %==% max_size_aggr)+1L, with = FALSE][[1]]
  41. # [1] 340
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement