Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
utilities_tpf [2016/09/16 12:07]
admin
utilities_tpf [2020/02/19 13:27] (текущий)
f0ma
Строка 2: Строка 2:
  
 <Code linenums lang-r> <Code linenums lang-r>
 +
 +source('​utilities.r'​)
 +
 tpf.elements <- read.csv("​constants_elements_tpf.csv",​stringsAsFactors=F) tpf.elements <- read.csv("​constants_elements_tpf.csv",​stringsAsFactors=F)
  
Строка 152: Строка 155:
     clist <-  c(c(cat_ox/​cat_cat),​c(1,​1));​     clist <-  c(c(cat_ox/​cat_cat),​c(1,​1));​
  
-    s <- rowApply('​*',​mw,​clist);​+    s <- rowSums(rowApply('​*',​mw,​clist));
     sfc <- 0.5*(mw$F+mw$Cl);​     sfc <- 0.5*(mw$F+mw$Cl);​
  
Строка 160: Строка 163:
  
 tpf.fefe <- function(mw,​ll,​mm,​theta = 0.000001){ tpf.fefe <- function(mw,​ll,​mm,​theta = 0.000001){
 +    #Non Vector Operation! Tests requried!
 +    ​
     os = tpf.sumo(mw) + (mw$F + mw$Cl)/2;     os = tpf.sumo(mw) + (mw$F + mw$Cl)/2;
  
-    ​mw1 <- rowApply('​*',​mw,​ll/​os)+    ​if (os>​theta) { 
- +        if( os<ll && mw$Fe > (mm-2*os)) { 
-    mw$Fe3 <- mm-2*os; +            mw$Fe3 <- mm-2*os; 
-    mw$Fe2 <- mw$Fe - mw$Fe2+            mw$Fe2 <- mw$Fe - mw$Fe2; 
-     +        }else{ 
-    ret <- as.data.frame(setNames(replicate(25,​ numeric(0), simplify = F), names(mw))) +            ​mw ​<- rowApply('​*'​,mw,ll/os);
- +
-#Non Vector Operation! Tests requried! +
-    for(i in 1:nrow(mw)) { +
-        row <- mw[i,]; +
-        if( os<ll && row$Fe > (mm-2*os[i])) +
-        { +
-        ret <​-rbind(ret,​row)+
-        } +
-        ​else +
-        ​+
-        ​ret ​<-rbind(ret,mw1[i,]);+
         }         }
     }     }
-    return(ret);+    return(mw);
 } }
  
Строка 194: Строка 188:
 else { clkm = rbind(clkm,​clk);​ } else { clkm = rbind(clkm,​clk);​ }
 } }
-return(tpf.unrename(clkm,​mw$Name));​+ 
 +ds <- tpf.unrename(clkm,​mw$Name
 +return(cbind(data.frame(Name=mw$Name),​selectNames(ds,​ tpf.elements_rename)));
 } }
  
Строка 211: Строка 207:
 } }
 if (mn %in% c("​SPR"​)) {  ​ if (mn %in% c("​SPR"​)) {  ​
-#        ​tpf.omesod(mw,​10,​999);​ +         mw <- tpf.omesod(mw,​10,​999);​ 
-#        {form(7);-nelzya, t.k. mw[i] uzhe raschitani, t.e. drugie!} +         s <- rowSums(mw) - mw$F - mw$Cl
-#        s:=0; +         ​<ifelse(!0, 7/s0)
-#        for i:=Si to C do s:=s+mw[i]+         ​mw <- rowApply('​*',mw,s)
-#        if s>0.01e-6 then s:=7/s else s:=0; +         ​mw$Fe <- mw$Fe3 + mw$Fe2; 
-#        for i:=Si to Cl do mw[i]:=s*mw[i]+         mw$Fe2 <- mw$Fe; 
-#        ​mw[fe]:=mw[fe3]+mw[fe2] mw[fe2]:=mw[fe]; mw[fe3]:=0; +         mw$Fe3 <- 0; 
-#        ​fefe(mw, 10,20); alal(mw, 3); mw[sum_o]:​=sumo;+         mw <- tpf.fefe(mw, 10,20); 
 +         mw <- tpf.alal(mw, 3); 
 +         ​return(mw);
 } }
     ​     ​
 if (mn %in% c("​ILM",​ "​HEM"​)) {  ​ if (mn %in% c("​ILM",​ "​HEM"​)) {  ​
-#        ​tpf.omesod(mw,​3,​999);​ +         mw <- tpf.omesod(mw,​3,​999);​ 
-#        {form(2);} +         s <- rowSums(mwmw$F - mw$Cl
-#        s:=0; +         ​<ifelse(!0, 2/s0)
-#        for i:=Si to C do s:=s+mw[i]+         ​mw <- rowApply('​*',mw,s)
-#        if s>0.01e-6 then s:=2/s else s:=0; +         ​mw$Al4 <- mw$Al; 
-#        for i:=Si to Cl do mw[i]:=s*mw[i]+         mw$Al6 <- 0; 
-#        ​mw[Al4]:=mw[Al]; mw[Al6]:=0; +         ​mw$Fe <- mw$Fe3+mw$Fe2; 
-#        ​mw[Fe]:=mw[Fe3]+mw[Fe2]; mw[Fe2]:=mw[Fe]; mw[Fe3]:=0; +         mw$Fe2 <- mw$Fe; 
-#        ​fefe(mw, 3,6); mw[sum_o]:​=sumo;+         mw$Fe3 <- 0; 
 +         mw <- tpf.fefe(mw, 3,6); 
 +         ​return(mw);
 } }
  
 if (mn %in% c("​MAG",​ "​SPL"​)) {    if (mn %in% c("​MAG",​ "​SPL"​)) {   
-#        ​tpf.omesod(mw,​4,​999);​ +         mw <- tpf.omesod(mw,​4,​999);​ 
-#        {form(3);} +         s <- rowSums(mwmw$F - mw$Cl
-#        s:=0; +         ​<ifelse(!0, 3/s0)
-#        for i:=Si to C do s:=s+mw[i]+         ​mw <- rowApply('​*',mw,s)
-#        if s>0.01e-6 then s:=3/s else s:=0; +         ​mw$Al4 <- mw$Al; 
-#        for i:=Si to Cl do mw[i]:=s*mw[i]+         mw$Al6 <- 0; 
-#        ​mw[Al4]:=mw[Al]; mw[Al6]:=0; +         ​mw$Fe <- mw$Fe3+mw$Fe2; 
-#        ​mw[Fe]:=mw[Fe3]+mw[Fe2]; mw[Fe2]:=mw[Fe]; mw[Fe3]:=0; +         mw$Fe2 <- mw$Fe; 
-#        ​fefe(mw, 4,8); mw[sum_o]:​=sumo;+         mw$Fe3 <- 0; 
 +         mw <- tpf.fefe(mw, 4,8); 
 +         ​return(mw);
 } }
     if (mn %in% c("​OPX",​ "​PGT",​ "​CPX"​)) {  ​     if (mn %in% c("​OPX",​ "​PGT",​ "​CPX"​)) {  ​
  • utilities_tpf.1474027656.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)