r - 如何选择现有列并使用函数运行统计测试?
问题描述
我有一个数据框(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 之间
解决方案
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")
推荐阅读
- java - 在这种特定情况下,如何阻止 Eclipse 缩进额外的空格?
- python - 如何使用登录的用户名在 Python Django 帖子上添加评论?
- powershell - 在 powershell 中转义 $
- ag-grid - 以编程方式删除所有分组和过滤的简单方法
- linux - while循环比较文件
- python - 当我尝试使用 arff.dump() 将 pandas DataFrame 文件保存到 arff 时,为什么会显示错误?
- python - Plotly 密度热图格式化色阶和悬停文本
- python - Python Requests-HTML - 找不到特定数据
- c# - TabControl 不显示基于视图模型类型的内容
- c - C中是否有一个函数可以取变量的最大整数值?