【问题标题】:how do i name the outputs / results of a function in R我如何命名R中函数的输出/结果
【发布时间】:2016-11-15 22:49:39
【问题描述】:

直截了当...我对 R 很陌生,我刚刚写了我的第一个“便宜”:) 函数,它是:

Holzrezeptur <- function(Spana, u, LG, FGL, HG, FGH) {
  if (u > 10) {
    warning("Ausgleichsfeuchtigkeit liegt über 10%")
  }
  Spanlut <- Spana*(1 + u/100)
  Leimfl <- (Spana*(LG/100))*(100/FGL)
  Haerterfl <- (Leimfl*(FGL/100)*HG/100)*(1000/FGH)
  out <- c(Spanlut, Leimfl, Haerterfl)
  return(out)
}

Holzrezeptur(1800, 4, 8, 60, 3, 30)

##[1] 1872  240  144

..原谅我这是用德语写的,我的英语完全是:)。它是一种关于如何获得混合物以制造特定木材水分的特定刨花板的简化方法。

我的问题: 我的三个输出是“Spanlut”、“Leimfl”和“Haerterfl”,对于那些我想最后命名的输出/结果。

所以结果不应该是:

##[1] 1872  240  144

但更像:

## Spanlutro Leimfluessig Haerterfluessig
##      1872          240             144

越简单越好! :)

如果我有方法我会发布它,但我不知道如何开始。 (我可以直接写进绑定吗!?) 对于你们中的大多数人来说,我很确定这只是一个手指练习,所以我希望我的小问题能得到回应。 我真的希望我不会让你厌烦:) 非常感谢您的帮助。

致以最诚挚的问候 -db-

【问题讨论】:

    标签: r function


    【解决方案1】:

    您需要在组合输出时提供名称。一种方法是创建一个数据框。

    你可以试试:

    Holzrezeptur <- function(Spana, u, LG, FGL, HG, FGH) {
      if (u > 10) {
       warning("Ausgleichsfeuchtigkeit liegt über 10%")
      }
    Spanlut <- Spana*(1 + u/100)
    Leimfl <- (Spana*(LG/100))*(100/FGL)
    Haerterfl <- (Leimfl*(FGL/100)*HG/100)*(1000/FGH)
    out <- data.frame(Spanlutro =Spanlut
                       , Leimfluessig  = Leimfl
                       , Haerterfluessig = Haerterfl)
    return(out)
    }
    

    【讨论】:

    • 亲爱的 Aramis7d 顺利,工作,我已经知道的命令,完美的解决方案和答案。非常感谢!
    • @Bandit 很高兴知道。如果它解决了您的问题,请随时查看这里http://stackoverflow.com/help/someone-answers
    【解决方案2】:

    最简单的解决方案:out &lt;- list(Spanlut=Spanlut, Leimfl=Leimfl, Haerterfl=Haerterfl)

    【讨论】:

    • 亲爱的 persimmon_jones naaaa 太容易了! :) 呵呵,开个玩笑;也感谢你提供这个替代方案!
    猜你喜欢
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 2023-02-23
    相关资源
    最近更新 更多