【问题标题】:Including sums and vectors in an R function [closed]在 R 函数中包含和和向量
【发布时间】:2012-12-22 13:16:45
【问题描述】:

我有两个向量 ab,它们都有 8 个元素。我需要创建一个 sum[(a_i+b_i)^2] 的函数,即我需要添加相应的组件,然后将它们平方,然后添加平方。

我能够在 R 中编写像 f(x)=5x+2 这样的简单函数,但不知道如何合并向量和求和...也许是一个循环?

抱歉,我写的公式不好,如果这是一个基本问题,我很抱歉,我是 R 新手。

【问题讨论】:

    标签: r function vector sum


    【解决方案1】:
    f <- function(a,b) crossprod(a+b)
    

    【讨论】:

      【解决方案2】:

      已编辑

      x <- 1:10
      y <- rnorm(10)
      
      sum((x + y)^2)
      

      【讨论】:

      • 您创建了两个变量:xy,但您没有在 sum() 中使用它们,而是使用了 ab
      【解决方案3】:

      你不需要为 sum[(a_i+b_i)^2] 编写函数,只需:

      a <- 1:8  # a and b are vectors consisting of 8 elements
      b <- a+10    
      sum((a+b)^2) # this is what you want to do
      [1] 3056
      

      为了对总数求和和平方:

      sum(a+b)^2
      [1] 23104
      

      【讨论】:

      • 非常感谢,我以为 R 会将每个向量的元素相加并平方总数。
      • @user1958688:如果您认为应该查看(a+b)^2 的输出。你会看到 8 元素的结果。检查嵌套的 R 对象是学习语言的基础。你需要学会从“内向外”思考。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 2021-05-17
      相关资源
      最近更新 更多