У меня есть датафрейм (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