去除NA情况并计算R中a因子的平均值

去除NA情况并计算R中a因子的平均值,r,R,如何删除列中的NA案例,同时计算因子的平均值 使用此代码,我计算x数据帧内组A中DC1的平均值 test.mean来自@akrun的两个选项: mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE) 或 @akrun的两个选项: mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE) 或 处理这种情况有两种选择。这里,“Groups”列缺少一些值。使用=运算符,NA值返回为NA c(1:3, NA) == 2

如何删除列中的NA案例,同时计算因子的平均值

使用此代码,我计算x数据帧内组A中DC1的平均值


test.mean来自@akrun的两个选项:

mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE)


@akrun的两个选项:

mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE)


处理这种情况有两种选择。这里,“Groups”列缺少一些值。使用
=
运算符,NA值返回为NA

c(1:3, NA) == 2
#[1] FALSE  TRUE FALSE    NA
当我们根据上面的逻辑索引对另一列进行子集划分时,NA值将返回为NA


如果要应用的函数具有缺失值删除选项,则可以使用它。在
mean
的情况下,存在默认为FALSE的
na.rm
。将其更改为TRUE,它应该会起作用

mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE)

另一个选项是使NA值返回为FALSE。这可以通过使用另一个逻辑条件
&!is.na

mean(x$DC1[x$Groups=="Group_A" & !is.na(x$Groups)])
如果“DC1”中没有NA值,它应该可以正常工作。为了安全起见,最好也添加
na.rm=TRUE


第三个选项是在%
中使用
%,它总是返回TRUE/FALSE

mean(x$DC1[x$Groups %in% "Group_A"])

处理这种情况有两种选择。这里,“Groups”列缺少一些值。使用
=
运算符,NA值返回为NA

c(1:3, NA) == 2
#[1] FALSE  TRUE FALSE    NA
当我们根据上面的逻辑索引对另一列进行子集划分时,NA值将返回为NA


如果要应用的函数具有缺失值删除选项,则可以使用它。在
mean
的情况下,存在默认为FALSE的
na.rm
。将其更改为TRUE,它应该会起作用

mean(x$DC1[x$Groups == "Group_A"], na.rm = TRUE)

另一个选项是使NA值返回为FALSE。这可以通过使用另一个逻辑条件
&!is.na

mean(x$DC1[x$Groups=="Group_A" & !is.na(x$Groups)])
如果“DC1”中没有NA值,它应该可以正常工作。为了安全起见,最好也添加
na.rm=TRUE


第三个选项是在%
中使用
%,它总是返回TRUE/FALSE

mean(x$DC1[x$Groups %in% "Group_A"])

,在
mean
中有
na.rm
参数,即
mean(x$DC1[x$Groups==“groupa”],na.rm=TRUE)
什么是
DC1
?它是一个数字列吗?是的,它是一个数字列或者可能是
mean(x$DC1[x$Groups==“Group_a”&!Is.na(x$Groups)])
或者
mean(x$DC1[x$Groups%in%“Group_a”])
如果“DC1”中有na值,您的第一个选项可能仍然需要
na.rm TRUE
。多么容易的争论!谢谢您尝试第二个和第三个选项,在
mean
中有
na.rm
参数,即
mean(x$DC1[x$Groups==“Group_A”],na.rm=TRUE)
什么是
DC1
?它是一个数字列吗?是的,它是一个数字列或者可能是
mean(x$DC1[x$Groups==“Group_a”&!Is.na(x$Groups)])
或者
mean(x$DC1[x$Groups%in%“Group_a”])
如果“DC1”中有na值,您的第一个选项可能仍然需要
na.rm TRUE
。多么容易的争论!谢谢你尝试第二个和第三个选项