Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
recalc:sp_nm [2017/03/06 22:02]
admin [Source]
recalc:sp_nm [2018/11/12 15:08] (текущий)
Строка 1: Строка 1:
 ====== Sp: Normalization.Minerals ====== ====== Sp: Normalization.Minerals ======
  
-Calculation form Excel table. To 3 cations.+Calculation form Excel table. To 3 cations ​with optional Fe_p3_pfu calculation from charge balance.
  
 === Details === === Details ===
Строка 18: Строка 18:
   * ссылка   * ссылка
   * <​del>​карточка</​del>​   * <​del>​карточка</​del>​
-  * <del>подробное описание</​del>​ +  * подробное описание 
-  * код +  * <del>код</​del>​ 
-  * тест+  * <del>тест</​del>​
 </​WRAP>​ </​WRAP>​
  
Строка 69: Строка 69:
     pfu_units <- norm_cations;​     pfu_units <- norm_cations;​
  
-    ​fxcharge ​<- ifelse(8-charge>​0,​8-charge,​0);​ +    ​fecharge ​<- ifelse(8-charge>​0,​8-charge,​0);​ 
-    pfu_units$Fe_p3_pfu <- ifelse(pfu_units$Fe_p3_pfu > 0, pfu_units$Fe_p3_pfu, ​fxcharge); +    pfu_units$Fe_p3_pfu <- ifelse(pfu_units$Fe_p3_pfu > 0, pfu_units$Fe_p3_pfu, ​fecharge); 
-    pfu_units$Fe_p2_pfu <- ifelse(pfu_units$Fe_p3_pfu > 0, pfu_units$Fe_p2_pfu,​ norm_cations$Fe_p2_pfu - fxcharge);+    pfu_units$Fe_p2_pfu <- ifelse(pfu_units$Fe_p3_pfu > 0, pfu_units$Fe_p2_pfu,​ norm_cations$Fe_p2_pfu - fecharge);
  
-    ​print(pfu_units);​+    ​endcharge <- 4*(pfu_units$Si_pfu+pfu_units$Ti_pfu)+ 
 +                 ​3*(pfu_units$Al_pfu+pfu_units$Cr_pfu+pfu_units$Fe_p3_pfu)+ 
 +                 ​2*(pfu_units$Fe_p2_pfu+pfu_units$Mn_pfu+pfu_units$Mg_pfu);
  
 +    endcharge<​- 8-endcharge;​
 +
 +    rownames <- data.frame(Name = wtp_data$Name);​
 +    qcheck <- data.frame(ChargeDisbalance = endcharge);
 + 
 +    return (cbind(rownames,​ pfu_units, qcheck));
 } }
  
 recalc.sp_nm.test <- function () { 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), Fe2O3_wtp=c(0,​ 1), MnO_wtp=c(0.34,​ 0.34), MgO_wtp=c(8.35,​ 8.35));     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), Fe2O3_wtp=c(0,​ 1), MnO_wtp=c(0.34,​ 0.34), MgO_wtp=c(8.35,​ 8.35));
-    ​print(recalc.sp_nm(test));+    ​result <- recalc.sp_nm(test);​
  
 +    expect_equal(object = result[1,​]$Fe_p2_pfu,​ 1.502, tolerance = 0.001);
 +    expect_equal(object = result[2,​]$Ti_pfu,​ 0.975, tolerance = 0.001);
 } }
 </​Code>​ </​Code>​
  • recalc/sp_nm.1488837778.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)