Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 Studio中数据集的平均值?_R_Statistics_Mean - Fatal编程技术网

如何计算R Studio中数据集的平均值?

如何计算R Studio中数据集的平均值?,r,statistics,mean,R,Statistics,Mean,下面是我的数据集 为了找到整个列名的平均值:BP,我使用下面的R代码实现了它 library(Sleuth3) ex0112 View(ex0112) mean(ex0112$BP) 但是,我如何计算只有常规油饮食的平均血压? 我不熟悉R编程。非常感谢您的帮助也许您可以尝试下面的代码 with(ex0112,tapply(BP,Diet,mean)) 如果您只对普通机油感兴趣 也许你可以试试下面的代码 with(ex0112,tapply(BP,Diet,mean)) 如果您只对普通机油感

下面是我的数据集

为了找到整个列名的平均值:BP,我使用下面的R代码实现了它

library(Sleuth3)
ex0112
View(ex0112)
mean(ex0112$BP)
但是,我如何计算只有常规油饮食的平均血压?
我不熟悉R编程。非常感谢您的帮助

也许您可以尝试下面的代码

with(ex0112,tapply(BP,Diet,mean))
如果您只对普通机油感兴趣


也许你可以试试下面的代码

with(ex0112,tapply(BP,Diet,mean))
如果您只对普通机油感兴趣

dplyr的另一个选项

dplyr的另一个选项

我建议采用基本的R方法。用一些数据做一个例子,你可以找到BP的平均值。聚合函数允许数据的子集

#Data
df <- structure(list(Diet = c("FishOil", "RegularOil", "FishOil", "RegularOil", 
"FishOil", "RegularOil", "FishOil", "RegularOil", "FishOil", 
"RegularOil", "FishOil", "RegularOil", "FishOil", "RegularOil"
), BP = c(0, 10, 2, 12, 13, -5, 5, 12, 5, 3, 13, 3, 8, 5)), class = "data.frame", row.names = c(NA, 
-14L))
输出:

        Diet       BP
1 RegularOil 5.714286
我建议采用基本的R方法。用一些数据做一个例子,你可以找到BP的平均值。聚合函数允许数据的子集

#Data
df <- structure(list(Diet = c("FishOil", "RegularOil", "FishOil", "RegularOil", 
"FishOil", "RegularOil", "FishOil", "RegularOil", "FishOil", 
"RegularOil", "FishOil", "RegularOil", "FishOil", "RegularOil"
), BP = c(0, 10, 2, 12, 13, -5, 5, 12, 5, 3, 13, 3, 8, 5)), class = "data.frame", row.names = c(NA, 
-14L))
输出:

        Diet       BP
1 RegularOil 5.714286

您可以使用@Duck中的数据对data.table执行此操作

library(data.table)
setDT(df)[, .(meanBP = mean(BP)), by = .(Diet)]
#         Diet   meanBP
# 1:    FishOil 6.571429
# 2: RegularOil 5.714286

您可以使用@Duck中的数据对data.table执行此操作

library(data.table)
setDT(df)[, .(meanBP = mean(BP)), by = .(Diet)]
#         Diet   meanBP
# 1:    FishOil 6.571429
# 2: RegularOil 5.714286
我提议:

ex0112.dt <- as.data.table(ex0112)
ex0112.dt[,mean(BP),by=.(Diet)]
我提议:

ex0112.dt <- as.data.table(ex0112)
ex0112.dt[,mean(BP),by=.(Diet)]

这真的很有帮助。但是,如何找到只有常规油性饮食的平均值呢?这真的很有帮助。但是,如何找到只有常规油性饮食的平均值呢?