Править страницу Ссылки сюда Common: Atomic WTP to ATP Пересчет весовых процентов оксидов на атомные проценты. Details Reference Input wtp Results atp Использовать Проверить заголовок краткое описание статья ссылка карточка подробное описание код тест Source elements <- read.csv("constants_elements.csv",stringsAsFactors=F); recalc.wtp_at_to_atp <- function (wtp_data, ...) { data <- wtp_data[,grep("_wtp", names(wtp_data))]; data_atp = data.frame(Name=wtp_data$Name); mw <- c(); for (wtnamew in names(data)) { wtname <- gsub('_wtp', "", wtnamew); econst = subset(elements,element==wtname) mw <- c(mw,c(1/econst$weight)); } data_st1 <- data/100; data_st2 <- rowApply('*',data_st1,mw); st2_sum <- rowSums(data_st2); data_st3 <- (data_st2/st2_sum)*100; names(data_st3) <- gsub("_wtp", "_atp", names(data_st3)); data_atp <- cbind(data_atp, data_st3); return(data_atp); } recalc.wtp_at_to_atp.test <- function () { td <- data.frame(Name="test", S_wtp=19.87, Fe_wtp=34.32, Co_wtp=0.17, Ni_wtp=0.16, As_wtp=45.29, Sb_wtp=0.37); td <- rbind(td,td) rs <- recalc.wtp_at_to_atp(td); expect_equal(object = rs$As_atp[1], 32.72, tolerance = 0.01); expect_equal(object = rs$As_atp[2], 32.72, tolerance = 0.01); } order11 recalc/wtp_at_to_atp.txt Последние изменения: 2018/11/12 15:08(внешнее изменение) Войти