Как выбрать существующие столбцы и запустить статистический тест с функцией? - PullRequest
1 голос
/ 08 октября 2019

У меня есть датафрейм (df). Чтобы создать новый фрейм данных (df1), я хочу выбрать столбцы из исходного фрейма данных (df). С df1 я хочу опустить NA и запустить статистический тест. Наконец, я хочу, чтобы этот процесс выполнялся как функция.

library(dplyr)

#create example dataframe
A<-c(1,2,1,2,1,2,1)
B<-c(5,2,4,1,5,1,NA)
D<-c(99,99,88,88,99,99,88)
E<-c(10,10,20,10,20,20,20)
df <- data.frame(A,B,D,E)

#Single step process works
df1 <- dplyr::select(df, A, B)
df1 <- na.omit(df1)

wilcox.test(df1$B~df1$A)

#Function does not work
lazy <- function(x,y,z){
  x <- dplyr::select(df, y, z)
  x <- na.omit(x)

  e <- wilcox.test(x$z~x$y)
  return(e)
}
lazy(df2,A,E)

ОШИБКА: ошибка в inds_combine (.vars, ind_list): позиция должна быть в диапазоне от 0 до n

1 Ответ

1 голос
/ 08 октября 2019
lazy <- function(x, y, z){
    x <- df[c(y, z)]
    x <- na.omit(x)

    e <- wilcox.test(x[[z]]~x[[y]])
    return(e)
}
lazy(df, "A", "B")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...