Различия
Здесь показаны различия между двумя версиями данной страницы.
spdgrams:lan_c1_chondrite_sun_wm_sun [2016/12/19 00:15] f0ma |
spdgrams:lan_c1_chondrite_sun_wm_sun [2018/11/12 15:07] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== C1 Chondrite, Sun, McDonough, 1989 + Oceanic, Sun, McDonough, 1989 ====== | ||
- | C1 Chondrite + E-MORB, N-MORB, OIB | ||
- | |||
- | === Details === | ||
- | |||
- | | Reference | <ref:sun1989> |</del> | ||
- | | Data | bulk | | ||
- | | Input | ppm | | ||
- | |||
- | <use:spdgrams.lan_c1_chondrite_sun_wm_sun> | ||
- | <test:spdgrams.lan_c1_chondrite_sun_wm_sun> | ||
- | |||
- | <WRAP center round todo 60%> | ||
- | * заголовок | ||
- | * краткое описание | ||
- | * статья | ||
- | * ссылка | ||
- | * карточка | ||
- | * подробное описание | ||
- | * код | ||
- | * тест | ||
- | </WRAP> | ||
- | |||
- | === Source === | ||
- | |||
- | <Code linenums lang-r> | ||
- | require('ggplot2'); | ||
- | |||
- | cmp <- read.csv("constants_oceanic_basalts_compositions.csv", sep=";", stringsAsFactors=F); | ||
- | ocean <- read.csv("constants_oceanic_basalts_compositions.csv", sep=";", stringsAsFactors=F); | ||
- | |||
- | spdgrams.lan_c1_chondrite_sun_wm_sun <- 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% ocean$Element) | ||
- | { | ||
- | nmorb <- c(lcrust, subset(ocean, Element == n)$N_MORB); | ||
- | emorb <- c(mcrust, subset(ocean, Element == n)$E_MORB); | ||
- | oib <- c(ucrust, subset(ocean, Element == n)$OBI); | ||
- | } | ||
- | else | ||
- | { | ||
- | nmorb <- c(nmorb,0.0); | ||
- | emorb <- c(emorb,0.0); | ||
- | oib <- c(oib,0.0); | ||
- | } | ||
- | } | ||
- | |||
- | cr <- data.frame(rbind(nmorb,emorb,oib)); | ||
- | |||
- | 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, "N-MORB", "E-MORB", "OBI"), rowApply(`/`,ds,pmsc)); | ||
- | names(values)[1] <- 'Name'; | ||
- | |||
- | print(values); | ||
- | |||
- | ret$values <- values; | ||
- | ret$grades <- ns; | ||
- | ret$labels <- c('REE', 'Sample/C1 Chondrite'); | ||
- | |||
- | return(ret); | ||
- | } | ||
- | |||
- | </Code> | ||
- | |||
- | {{tag>spdgrams chondrite}} |