C1 Chondrite, Sun McDonough, 1989 + Crust, Taylor, McLennan, 1985

C1 Chondrite + Crust (3 ex)

Details

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

Использовать Проверить

  • заголовок
  • краткое описание
  • статья
  • ссылка
  • карточка
  • подробное описание
  • код
  • тест

Source

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)));
}