C1 Chondrite + Crust (3 ex)
Reference | Sun, S-S, McDonough, WF Chemical and isotopic systematics of oceanic basalts: implications for mantle composition and processes, 1989 [ref] |
Data | bulk |
Input | ppm |
require('ggplot2'); cmp <- read.csv("constants_oceanic_basalts_compositions.csv", sep=";", stringsAsFactors=F); crust <- read.csv("constants_continental_curst_taylor1985.csv", sep=",", stringsAsFactors=F); spdgrams.lan_c1_chondrite_sun_wm_taylor <- function(ppm_data, el_order = NULL) { ns <- el_order; if (is.null(el_order)) { ns <- c('La','Ce','Pr','Nd','Sm','Eu','Gd','Tb','Dy','Ho','Er','Tm','Yb','Lu'); } pmsc <- c(); for (n in ns) pmsc <- c(pmsc, subset(cmp, element == n)$c1_chondrite); lcrust <- c(); mcrust <- c(); ucrust <- c(); for (n in ns) { if(n %in% crust$Element) { lcrust <- c(lcrust, subset(crust, Element == n)$lower_crust); mcrust <- c(mcrust, subset(crust, Element == n)$middle_crust); ucrust <- c(ucrust, subset(crust, Element == n)$upper_crust); } else { lcrust <- c(lcrust,0.0); mcrust <- c(mcrust,0.0); ucrust <- c(ucrust,0.0); } } cr <- data.frame(rbind(lcrust,mcrust,ucrust)); names(cr) <- c(paste0(ns,'_ppm')); print(cr); ds <- selectNames(ppm_data,c(paste0(ns,'_ppm'))); print(ds); ds <-rbind(ds,cr); names(ds) <- ns; print(ds); ret <- c(); values <- cbind(c(ppm_data$Name, "Lower Crust", "Middle Crust", "Upper Crust"), rowApply(`/`,ds,pmsc)); names(values)[1] <- 'Name'; print(values); ret$values <- values; ret$grades <- ns; ret$labels <- c('REE', 'Sample/C1 Chondrite'); return(ret); } spdgrams.lan_c1_chondrite_sun_wm_taylor.test <- function() { spdgrams.lan_c1_chondrite_sun_wm_taylor(data.frame(Name=c('Test'),Eu_ppm=c(34.5))); }