【发布时间】:2019-02-26 05:14:00
【问题描述】:
我正在尝试将由变量值过滤的数据集传递给 R 中“asbio”包中的 pairw.kw 函数。
example.df <- data.frame(
species = sample(c("primate", "non-primate"), 50, replace = TRUE),
treated = sample(c("Yes", "No"), 50, replace = TRUE),
gender = sample(c("male", "female"), 50, replace = TRUE),
var1 = rnorm(50, 100, 5)
)
library(dplyr)
library(asbio)
with(example.df, pairw.kw(var1, species, conf=0.95))
此代码有效。不过,
example.df %>%
filter(treated=="No") %>%
{pairw.kw("var1", "species",conf = 0.95)}
给我错误信息
dim(robj)
我不明白是什么原因造成的,除了假设在应用过滤器后被比较的两个向量变成不同的长度。
除了将数据显式设置为新数据框并使用它之外,还有其他方法可以解决此问题吗?我知道这会起作用,但想知道是否存在更优雅的解决方案。
【问题讨论】: