Size: a a a

R language and Statistical data analysis

2020 April 25

АК

Артём Клевцов in R language and Statistical data analysis
Andrey
А под бубунту надо подождать 4.0, да? Когда будет?
источник

A

Andrey in R language and Statistical data analysis
Это видел. Я хочу не тестить, а так чтоб вжух и работало. До 20.04 обновился благополучно на одной пеке
источник

АК

Артём Клевцов in R language and Statistical data analysis
источник

A

Andrey in R language and Statistical data analysis
получилось!
источник

e

este in R language and Statistical data analysis
Andrey
library(data.table)

mtcars <- as.data.table(mtcars)

mtcars[, .(p_value = shapiro.test(mpg)$p.value), by = .(am, vs)]

f <- function(dt, x, gr) {
 dt[, .(p_value = shapiro.test(get(x))$p.value), by = gr]
}

f(mtcars, "mpg", c("am", "vs"))

вот аналог с data.table.  Почему-то выходит проще, чем в "простом" tidyverse
Спасибо)
источник

e

este in R language and Statistical data analysis
Ivan Struzhkov
foo<-function(a,...){a %>% group_by_(...) %>% summarise(p_value = shapiro.test(mpg)$p.value)}

mtcars %>% foo(.,'am','vs')


И все работает
Вот в такой постановке да, когда вы уверены, что используете mtcars. А если у вас только рандомный датафрейм, и известно, что нужно найти нормальном ь первого количественнлго столбца по сочетанию бинарных факторов второго и третьего столбца?
источник

АК

Артём Клевцов in R language and Statistical data analysis
Andrey
получилось!
Это временно. Должна быть нормальная репа со временем.
источник

IS

Ivan Struzhkov in R language and Statistical data analysis
este
Вот в такой постановке да, когда вы уверены, что используете mtcars. А если у вас только рандомный датафрейм, и известно, что нужно найти нормальном ь первого количественнлго столбца по сочетанию бинарных факторов второго и третьего столбца?
есть вот такое половинчатое решение,  раздельная группировка и суммарайз с шапиро

my_summarise2 <- function(df, expr) {
 expr <- enquo(expr)
 summarise(df,
           p_value = shapiro.test(!! expr)$p.value
 )}
 
}

mtcars %>% group_by(am,vs) %>% my_summarise2(mpg)

Я постараюсь объединить в одну
источник

АК

Артём Клевцов in R language and Statistical data analysis
Ivan Struzhkov
есть вот такое половинчатое решение,  раздельная группировка и суммарайз с шапиро

my_summarise2 <- function(df, expr) {
 expr <- enquo(expr)
 summarise(df,
           p_value = shapiro.test(!! expr)$p.value
 )}
 
}

mtcars %>% group_by(am,vs) %>% my_summarise2(mpg)

Я постараюсь объединить в одну
В dplyr когда-то ещё был do.
источник

e

este in R language and Statistical data analysis
Ivan Struzhkov
есть вот такое половинчатое решение,  раздельная группировка и суммарайз с шапиро

my_summarise2 <- function(df, expr) {
 expr <- enquo(expr)
 summarise(df,
           p_value = shapiro.test(!! expr)$p.value
 )}
 
}

mtcars %>% group_by(am,vs) %>% my_summarise2(mpg)

Я постараюсь объединить в одну
Спасибо!
источник

IS

Ivan Struzhkov in R language and Statistical data analysis
Артём Клевцов
В dplyr когда-то ещё был do.
было такое) Ну и в практике - если бы я для себя писал - наверное оставил бы группирову нетронутой, указывать в кавычках поля для группировки в одной функции - как то не dplyr way)но чисто из принципа еще поковыряю
источник

e

este in R language and Statistical data analysis
Ivan Struzhkov
было такое) Ну и в практике - если бы я для себя писал - наверное оставил бы группирову нетронутой, указывать в кавычках поля для группировки в одной функции - как то не dplyr way)но чисто из принципа еще поковыряю
А хотите еще деталь?)
источник

e

este in R language and Statistical data analysis
В функцию подается ТОЛЬКО датасет. то, что группировка по 2,3 столбцам, а шапиро - p значение - по первым - можно захардкодить
источник

e

este in R language and Statistical data analysis
один аргумент
источник

IS

Ivan Struzhkov in R language and Statistical data analysis
А ну хардкодить то много ума не надо


foo1<-function(a){
 f_shap <- function(x){st = shapiro.test(x); return(st$p.value)}
 a %>% group_by_at(2:3) %>% summarise_at(vars(1),f_shap ) %>% rename_at(vars(3),
                                                                        ~str_replace(.,pattern = '.*',replacement = 'p_val')) }
 

mtcars %>% select(mpg,vs,am,everything()) %>% foo1()
источник

IS

Ivan Struzhkov in R language and Statistical data analysis
А извняюсь - группировка по 1 и 2 - шапиро по третьему - ну поменять не сложно
источник

e

este in R language and Statistical data analysis
Круто))) спасибо)
источник

e

este in R language and Statistical data analysis
А как бы сюда впихнуть еще переименование столбца, который тестируется на р_val?
источник

IS

Ivan Struzhkov in R language and Statistical data analysis
Добавил ренейминг И поставил группироввку корректную в сообщении выше
источник

e

este in R language and Statistical data analysis
Ivan Struzhkov
Добавил ренейминг И поставил группироввку корректную в сообщении выше
Спасибо большое!
источник