Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###########################
- # Nowe dane
- ###########################
- load("diagnozaOS.Rdata")
- #attach(dane)
- #head(dane)
- #dane[, "bp124"]
- #dane <- dane[which(! is.na(dane[, "bp124"])), ]
- # Wczytanie danych
- readData <- function() {
- dane <<- dane[which(! is.na(dane[, "bp124"])), ]
- dane <- na.omit(dane)
- # for (i in colnames(dane)) {
- # dane <<- dane[, which(length(levels(dane[, i])) > 1)]
- # }
- }
- #readData()
- lB = 0.05
- uB = 0.95
- # Obcięcie skrajnych wartosci
- trimData <- function(lowerBound = lB, upperBound = uB) {
- dane <<- dane[dane[, "bp124"] > quantile(dane[, "bp124"], probs = lowerBound), ]
- dane <<- dane[dane[, "bp124"] < quantile(dane[, "bp124"], probs = upperBound), ]
- }
- readData()
- trimData(lowerBound = lB, upperBound = uB)
- banned.cols <- c(44, 216:242, 345, 355:364, 626, 896:920, 1531:1532, 1825, 1859, 2014:2021)
- banned.cols <- c(banned.cols, 93:115)
- # 896:920 -- troche za wyrost
- find.valuable.cols <- function(p.val.max = 0.05) {
- full.form <- "bp124 ~ "
- dane.cols.num <- length(colnames(dane))
- result.i = numeric(50)
- p.val = numeric(50)
- licznik <- 0
- for (i in colnames(dane)) {
- dane.tmp <- dane[, c("bp124", i)]
- # if (nlevels(dane[, i]) > 1 & ! is.element(which(colnames(dane) == i), banned.cols)) {
- if (length(levels(dane[, i])) > 1 & ! is.element(which(colnames(dane) == i), banned.cols)) {
- if (! i == colnames(dane)[1]) full.form <- paste(full.form, "+")
- full.form <- paste(full.form, i)
- fmla <- as.formula(paste("bp124", "~", colnames(dane.tmp)[2], sep = ''))
- model.tmp <- lm(formula = fmla, data = dane.tmp)
- if (! is.na(anova(model.tmp)[1, "Pr(>F)"]) & (anova(model.tmp)[1, "Pr(>F)"] <= p.val.max)) {
- # print(anova(model.tmp))
- # print(i)
- result.i[licznik] <- i
- p.val[licznik] <- anova(model.tmp)[1, "Pr(>F)"] # p.val.tmp
- licznik <- licznik + 1
- }
- }
- }
- list(i = result.i, pv = p.val, l = licznik, f = full.form)
- }
- lst1 <- find.valuable.cols(p.val.max = 0.0000000000000000000000000000005) # 15
- lst2 <- find.valuable.cols(p.val.max = 0.00000000000000000000000005) # 10
- lst1$i
- lst2$i
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement