【问题标题】:Can not get range to produce a result in tapply function在 tapply 函数中无法获取范围以产生结果
【发布时间】:2020-02-12 15:38:02
【问题描述】:

刚开始学习 R,但我无法在这个 tapply 函数中获得范围来产生结果。我可以得到年龄和 affill 结果,但不能得到如下所示的 R。

ages <- c(25,26,37,56,42,25)

affill <- factor(c("U", "R", "R","D", "D", "U"))

tapply(ages, affill , range)

$D
[1] 42 56

$R
[1] 26 37

$U
[1] 25 25

【问题讨论】:

  • 您的预期输出是什么。你需要tapply(ages, affill , FUN = function(x) unique(range(x)))
  • 我很困惑。你有什么问题?

标签: r range tapply


【解决方案1】:

你在寻找这样的东西吗?

ages <- c(25,26,37,56,42,25)

affill <- factor(c("U", "R", "R","D", "D", "U"))

my_range <- function(x, na.rm = TRUE) {
  max(x, na.rm = na.rm) - min(x, na.rm = na.rm)
}

tapply(ages, affill , my_range)
# D  R  U 
# 14 11  0

您可以构建自己的自定义函数来计算数值向量的范围,而不是返回 R 中的默认范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    相关资源
    最近更新 更多