R %在%中不返回原子结果
在此操作中,R %在%中不返回原子结果,r,dplyr,R,Dplyr,在此操作中,x是一个tbl_df,而异常值是一个数据帧。 但是id返回一个逻辑的,而不是tbl_df 我做错了什么 x <- as_tibble(c(rep(2,10),50,64,80)) boxplot1 <- ggplot (data=x, aes_string (x = factor(0), y = "x" )) + geom_boxplot (fill = "lightgreen", outlier.fill = "darkgreen") + stat_bo
x
是一个tbl_df
,而异常值
是一个数据帧
。
但是id
返回一个逻辑的,而不是tbl_df
我做错了什么
x <- as_tibble(c(rep(2,10),50,64,80))
boxplot1 <-
ggplot (data=x, aes_string (x = factor(0), y = "x" )) +
geom_boxplot (fill = "lightgreen", outlier.fill = "darkgreen") +
stat_boxplot(geom ='errorbar', color = "grey") +
coord_flip () +
ggtitle (paste0 ("x", ", with outliers"))
outliers <- data.frame (unlist (ggplot_build(boxplot1)$data[[1]][6],use.names = F),stringsAsFactors=FALSE)
id <- x %in% outliers
x将溶液id
放入braketsid Nothing中。%in%
函数返回一个逻辑向量,如文档中所述。我希望tbl_df
的长度与x
的长度相同。的确,id请提供示例数据。我试图用mtcars
数据重现您的问题,一个是一个带有单列的tible,另一个是带有该列子集的data.frame<%
中的代码>%始终返回一个逻辑值,这很有意义。x
和异常值都是长度为1的列表。因此,您没有检查每一行的值是否在另一行中,而是检查整列是否正好在另一行中。添加了示例。我需要在x
中使用异常值的原子操作。感谢x
和异常值
都是tibble,它们是data.frames,它们是列表。他们的“列表形式”是列列表<由于x
(作为一个列表)只有一个元素(列),x%in%outliers
表示“对于x
中的每个元素,是否在outliers
中?”因为x
(作为列表)只有一个元素(列),x%in%outliers
回答”是x
中的列,也是outliers
中的列。“谢谢!我理解你。a) 第一个括号降级到TIBLES的列内容:“是否x
中的元素列表也是异常值中的元素列表?”b)第二个括号降级到所选元素列表的特定列表内容(双向量):“TIBLE列列表的第一个元素x
中包含的向量元素是否在异常值TIBLE列表的第一个元素中的双向量的相同位置也具有相同的值?”?“.这个例子让我对tidyverse的印象更为概念化。是解决原子操作的另一种形式吗?下面的例子,我必须用m2获得一个简单的过滤平均值