【发布时间】:2017-02-02 14:33:13
【问题描述】:
我有一个这样的data.frame(示例):
product protein fat starch
aaa 40 5 10
bbb 50 6 8
ccc 12 50 4
我想询问这些值的摘要(最小值、最大值、1stQ、3rdQ..)。 当我跑步时:
aggregate(protein~product,summary,data=DATA4, na.rm = TRUE)
我有这个……
product protein.Min. protein.1st Qu. protein.Median protein.Mean protein.3rd Qu. protein.Max.
aaa 6.400 14.700 15.600 15.540 16.600 22.500
bbb 6.300 9.400 10.100 10.130 10.800 15.100
ccc 23.000 24.080 24.250 24.180 24.420 25.000
但是我也想要频率和 SD。我怎么能这么问? 我尝试使用 ddply,但无法使其正常工作。 (我在某些变量(蛋白质、脂肪、淀粉...)中有 NA
除此之外,因为这里我只询问蛋白质水平的摘要,我如何一次询问我拥有的每个变量(蛋白质、脂肪、淀粉等)的摘要?
非常感谢!
【问题讨论】:
-
类似
aggregate(protein~product,FUN = function(i) c(summary(i, na.rm = TRUE), l1 = length(i), sd1 = sd(i, na.rm = TRUE)), data=DATA4)? -
@Sotos 谢谢!除了我无法理解代码中的任何内容之外,它还在工作.. x) 但是知道为什么现在答案是这种格式的吗? aaa 6.400000e+00 1.470000e+01 1.560000e+01 1.554000e+01 1.660000e+01(指数?)
-
您可以使用
options(scipen=999)避免科学记数法 -
@Sotos 但是我应该把它放在哪里?在代码的哪一部分?对不起.. :/
-
只是
options(scipen = 999) ; aggregate(.......))))