Править страницу Ссылки сюда Это старая версия документа! Sp: Normalization.Minerals Calculation form Excel table. To 3 cations. Details Reference Input SiO2_wtp, TiO2_wtp, Al2O3_wtp, Cr2O3_wtp, Fe2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp Output Si_pfu, Ti_pfu, Al_pfu, Cr_pfu, Fe_pfu, Fe_p2_wtp, Fe_p3_wtp, Mn_pfu, Mg_pfu Использовать Проверить заголовок краткое описание статья ссылка карточка подробное описание код тест Source recalc.sp_nm <- function (wtp_data, ...) { #Names preparation ox_tnames <- c('SiO2', 'TiO2', 'Al2O3', 'Cr2O3', 'Fe2O3', 'FeO', 'MnO', 'MgO'); ox_names <- c('SiO2_wtp','TiO2_wtp', 'Al2O3_wtp', 'Cr2O3_wtp', 'Fe2O3_wtp', 'FeO_wtp', 'MnO_wtp', 'MgO_wtp'); pfu_names <- c('Si_pfu', 'Ti_pfu', 'Al_pfu', 'Cr_pfu', 'Fe_p3_pfu', 'Fe_p2_pfu', 'Mn_pfu', 'Mg_pfu'); #Periodic table load elem <- read.csv("constants_nmperiodic.csv",stringsAsFactors=F, dec = "."); tmelem <- data.frame(t(elem), stringsAsFactors = F); names(tmelem) <- elem$oxide; telem <- selectNames(tmelem,ox_tnames); names(telem) <- ox_names; #Select columns wtp_group <- selectNames(wtp_data,ox_names); mole_cations <- rowApply('*', wtp_group, as.numeric(telem['ncations',])); mole_cations <- rowApply('/', mole_cations, as.numeric(telem['mole_wt',])); mole_oxigen <- rowApply('*', wtp_group, as.numeric(telem['noxygen',])); mole_oxigen <- rowApply('/', mole_oxigen, as.numeric(telem['mole_wt',])); # mole_cations <- rowApply('*', mole_cations, 4/rowSums(mole_oxigen)); mole_cations <- rowApply('*', mole_cations, 3/rowSums(mole_cations)); print(mole_cations); } recalc.sp_nm.test <- function () { test <- data.frame(Name=c("Sp1","Sp2"), SiO2_wtp=c(0.1,0.1), TiO2_wtp=c(36.14, 36.14), Al2O3_wtp=c(0.98,0.98), FeO_wtp=c(49.38, 49.38), MnO_wtp=c(0.34, 0.34), MgO_wtp=c(8.35, 8.35)); print(recalc.sp_nm(test)); } recalc/sp_nm.1488836011.txt.gz Последние изменения: 2018/11/12 15:08(внешнее изменение) Войти