我有一个数据框,head()看起来像这样:
CEMETERY SEX CONTEXT RaHD L RaHD R DIRECTIONAL ASYMMETRY
1 Medieval-St. Mary Graces FEMALE 7172 21.2 21.6 NA
2 Medieval-St. Mary Graces MALE 6225 23.9 25.2 NA
3 Medieval-St. Mary Graces MALE 9987 23.9 23.5 NA
4 Medieval-St. Mary Graces MALE 11475 22.4 22.3 NA
5 Medieval-St. Mary Graces MALE 12356 25.8 25.4 NA
6 Medieval-St. Mary Graces MALE 12525 22.4 22.3 NA
(RaHD L和RaHD R是骨测量)。 我刚刚创建了“定向不对称”#39;专栏:
MRaHDTABLE["DIRECTIONAL ASYMMETRY"]=NA
我现在需要在该列中输入数据。方向不对称的公式是'%DA =(右 - 左)/(左和右的平均值)×100' 那么(RaHD R - RaHD L)/(RaHD R和RaHD L的平均值)x 100.我不确定如何在我尝试时将其输入到我的表中:
MRaHDTABLE$'DIRECTIONAL ASYMMETRY'=(MRaHDTABLE$`RaHD R`-
MRaHDTABLE$`RaHDL`)/mean(MRaHDTABLE$`RaHD L`,MRaHDTABLE$`RaHD R`)*100
但得到了错误:
Error in mean.default(MRaHDTABLE$`RaHD L`, MRaHDTABLE$`RaHD R`) :
'trim' must be numeric of length one
答案 0 :(得分:1)
您在公式中错误地使用了mean
功能。如果查看文档(?mean
),该函数将采用三个参数:数字向量(x),要修剪的值的分数(修剪)以及如何处理缺失值(na.rm)。因此,在您的规范mean(MRaHDTABLE$`RaHD L`,MRaHDTABLE$`RaHD R`)
中,第一项被解释为输入向量(x),第二项被解释为trim参数。
尝试替换
mean(MRaHDTABLE$`RaHD L`,MRaHDTABLE$`RaHD R`)
使用
rowMeans(name_of_df[ , c(4,5)])
答案 1 :(得分:0)
OP要求实施公式
(RaHD R - RaHD L)/(RaHD R和RaHD L的平均值)×100
到目前为止发布的答案是试图使mean()
函数按行计算,只计算两个数字的平均值
RaHD R和RaHD的平均值L =(RaHD R + RaHD L)/ 2
所以,答案可能很简单:
MRaHDTABLE["DIRECTIONAL.ASYMMETRY"] <-
with(MRaHDTABLE, 200 * (RaHD.R - RaHD.L) / (RaHD.R + RaHD.L))
MRaHDTABLE
i X2 CEMETERY SEX CONTEXT RaHD.L RaHD.R DIRECTIONAL.ASYMMETRY 1 1 Medieval-St. Mary Graces FEMALE 7172 21.2 21.6 1.8691589 2 2 Medieval-St. Mary Graces MALE 6225 23.9 25.2 5.2953157 3 3 Medieval-St. Mary Graces MALE 9987 23.9 23.5 -1.6877637 4 4 Medieval-St. Mary Graces MALE 11475 22.4 22.3 -0.4474273 5 5 Medieval-St. Mary Graces MALE 12356 25.8 25.4 -1.5625000 6 6 Medieval-St. Mary Graces MALE 12525 22.4 22.3 -0.4474273
注意数据与OP发布的数据有所不同。这是由于OP无法以可重现的方式提供样本数据,即通过发布dput(MRaHDTABLE)
的结果。因此,我尝试尽可能少地重现数据。
with()
功能用于保存输入。
MRaHDTABLE <- data.frame(readr::read_table(
" i CEMETERY SEX CONTEXT RaHD.L RaHD.R DIRECTIONAL.ASYMMETRY
1 Medieval-St. Mary Graces FEMALE 7172 21.2 21.6 NA
2 Medieval-St. Mary Graces MALE 6225 23.9 25.2 NA
3 Medieval-St. Mary Graces MALE 9987 23.9 23.5 NA
4 Medieval-St. Mary Graces MALE 11475 22.4 22.3 NA
5 Medieval-St. Mary Graces MALE 12356 25.8 25.4 NA
6 Medieval-St. Mary Graces MALE 12525 22.4 22.3 NA"
))