【发布时间】:2012-12-22 13:16:45
【问题描述】:
我有两个向量 a 和 b,它们都有 8 个元素。我需要创建一个 sum[(a_i+b_i)^2] 的函数,即我需要添加相应的组件,然后将它们平方,然后添加平方。
我能够在 R 中编写像 f(x)=5x+2 这样的简单函数,但不知道如何合并向量和求和...也许是一个循环?
抱歉,我写的公式不好,如果这是一个基本问题,我很抱歉,我是 R 新手。
【问题讨论】:
我有两个向量 a 和 b,它们都有 8 个元素。我需要创建一个 sum[(a_i+b_i)^2] 的函数,即我需要添加相应的组件,然后将它们平方,然后添加平方。
我能够在 R 中编写像 f(x)=5x+2 这样的简单函数,但不知道如何合并向量和求和...也许是一个循环?
抱歉,我写的公式不好,如果这是一个基本问题,我很抱歉,我是 R 新手。
【问题讨论】:
f <- function(a,b) crossprod(a+b)
【讨论】:
已编辑
x <- 1:10
y <- rnorm(10)
sum((x + y)^2)
【讨论】:
x 和 y,但您没有在 sum() 中使用它们,而是使用了 a 和 b。
你不需要为 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
【讨论】:
(a+b)^2 的输出。你会看到 8 元素的结果。检查嵌套的 R 对象是学习语言的基础。你需要学会从“内向外”思考。