Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我如何将组平均值与个人观察值进行比较,并创建一个新的真/假列?_R_Dataframe_Dplyr_Purrr_Outliers - Fatal编程技术网

R 我如何将组平均值与个人观察值进行比较,并创建一个新的真/假列?

R 我如何将组平均值与个人观察值进行比较,并创建一个新的真/假列?,r,dataframe,dplyr,purrr,outliers,R,Dataframe,Dplyr,Purrr,Outliers,我是R的新手,这是我在SO上的第一篇帖子,所以请容忍我 我正在尝试识别数据集中的异常值。我有两个data.frames: (1-原始数据集,192行):观测值及其值(AvgConc) (2-使用dplyr创建,24行):对原始数据集的平均值以及分位数、最小值和最大值进行分组 我想在原始数据集中创建一个新列,根据(AvgConc)是大于最大值还是小于我在第二个data.frame中计算的最小值给出真/假。我该怎么做呢 失败的尝试: Outliers <- Original.Data %>

我是R的新手,这是我在SO上的第一篇帖子,所以请容忍我

我正在尝试识别数据集中的异常值。我有两个data.frames:

(1-原始数据集,192行):观测值及其值(AvgConc)

(2-使用dplyr创建,24行):对原始数据集的平均值以及分位数、最小值和最大值进行分组

我想在原始数据集中创建一个新列,根据(AvgConc)是大于最大值还是小于我在第二个data.frame中计算的最小值给出真/假。我该怎么做呢

失败的尝试:

Outliers <- Original.Data %>%
 group_by(Status, Stim, Treatment) %>%
 mutate(Outlier = Original.Data$AvgConc > Quantiles.Data$Maximum | Original.Data$AvgConc <  Quantiles.Data$Minimum) %>%
 as.data.frame()
异常值%
分组依据(状态、刺激、治疗)%>%
变异(异常值=原始数据$AvgConc>分位数。数据$Maximum |原始数据$AvgConc<分位数。数据$Minimum)%>%
as.data.frame()

错误:列
异常值必须是长度8(组大小)或1,而不是192。这里,我们需要删除
分位数.Data$
,方法是通过
状态、Stim、治疗与'Original.Data'
进行连接

library(dplyr)
Original.Data %>%
   inner_join(Quantiles.Data %>% 
              select(Status, Stim, Treatment, Maximum, Minimum)) %>%
   group_by(Status, Stim, Treatment) %>%
   mutate(Outlier = (AvgConc > Maximum) |(AvgConc <  Minimum)) %>%
   as.data.frame()
库(dplyr)
原始数据%>%
内部联合(分位数.Data%>%
选择(状态、刺激、治疗、最大值、最小值))%>%
分组依据(状态、刺激、治疗)%>%
变异(异常值=(AvgConc>最大值)|(AvgConc<最小值))%>%
as.data.frame()

在这里,我们需要删除
分位数.Data$
,方法是通过
状态、刺激、治疗与'Original.Data'进行连接

library(dplyr)
Original.Data %>%
   inner_join(Quantiles.Data %>% 
              select(Status, Stim, Treatment, Maximum, Minimum)) %>%
   group_by(Status, Stim, Treatment) %>%
   mutate(Outlier = (AvgConc > Maximum) |(AvgConc <  Minimum)) %>%
   as.data.frame()
库(dplyr)
原始数据%>%
内部联合(分位数.Data%>%
选择(状态、刺激、治疗、最大值、最小值))%>%
分组依据(状态、刺激、治疗)%>%
变异(异常值=(AvgConc>最大值)|(AvgConc<最小值))%>%
as.data.frame()

给了一个机会,遇到了这个错误:select(,Status,Stim,TRUSATION,Maximum,Minimum)中的错误:未使用的参数(Status,Stim,TRUSATION,Maximum,Minimum)@IASTATE you't't'没有显示任何示例,所以我直觉认为可能有这些列。如果你能用一些简单的例子和导出的输出来更新你的帖子,那就更容易调试了,因为我不需要按行分组,所以连接部分可以正常工作,列的标签也正确,但是当我到达变异行时,我会得到这个错误:变异中的错误(离群值=(AvgConc>最大值)|(AvgConc<最小值)):对象“AvgConc”不是found@iastatecy在您的代码中,有
Original.Data$AvgConc
,因此不清楚在数据中没有列的情况下如何拥有该列名。请检查
colnames(Original.Data)
AvgConc列是否在原始数据中。我试着加入,并能让它工作!试一试,遇到了这样的错误:select(,Status,Stim,TRUSATION,Maximum,Minimum)中的错误:未使用的参数(Status,Stim,TRUSATION,Maximum,Minimum)@IASTATE you't't'没有显示任何示例,所以这是基于我的直觉,可能存在这些列。如果你能用一些简单的例子和导出的输出来更新你的帖子,那就更容易调试了,因为我不需要按行分组,所以连接部分可以正常工作,列的标签也正确,但是当我到达变异行时,我会得到这个错误:变异中的错误(离群值=(AvgConc>最大值)|(AvgConc<最小值)):对象“AvgConc”不是found@iastatecy在您的代码中,有
Original.Data$AvgConc
,因此不清楚在数据中没有列的情况下如何拥有该列名。请检查
colnames(Original.Data)
AvgConc列是否在原始数据中。我试着加入,并能让它工作!如何将
原始.Data
映射为
分位数.Data
?他们之间有什么共同点吗?您可以使用
dput
共享这两个数据集的前几行,即
dput(head(Quantiles.Data))
dput(head(Original.Data))
。如何将
Original.Data
映射到
Quantiles.Data
?他们之间有什么共同点吗?您可以使用
dput
共享这两个数据集的前几行,即
dput(head(Quantiles.Data))
dput(head(Original.Data))