R中的和函数
我想计算一个简单的求和,但不是从1到我在求和函数中输入的值,而是像我在数学中通常做的那样求和,我有一个表达式,它有一些变量,然后我从1:4改变,然后假设R对表达式值求和 像R中的和函数,r,R,我想计算一个简单的求和,但不是从1到我在求和函数中输入的值,而是像我在数学中通常做的那样求和,我有一个表达式,它有一些变量,然后我从1:4改变,然后假设R对表达式值求和 像 如何在R中执行此操作?您差点就完成了,只需将3:5直接传递到y: > y <- function(x) x**2 > sum(y(3:5)) [1] 50 >y和(y(3:5)) [1] 50 预先将值分配给x,然后对函数结果求和。所以像这样: y=函数(x)x^2 x=3:5 求和(y(x))您可以创建
如何在R中执行此操作?您差点就完成了,只需将
3:5
直接传递到y
:
> y <- function(x) x**2
> sum(y(3:5))
[1] 50
>y和(y(3:5))
[1] 50
预先将值分配给x,然后对函数结果求和。所以像这样:
y=函数(x)x^2
x=3:5
求和(y(x))
您可以创建自定义函数:
mysum <- function(f,vals) sum(f(vals))
mysum(y,3:5)
# [1] 50
如果函数不接受向量,则需要使用apply函数。在R基中:
y <- function(x) x^2
sum(sapply(1:4, y))
sapply(list(sqrt=sqrt,log=log,sin=sin),mysum,vals=1:3)
# sqrt log sin
# 4.146264 1.791759 1.891888
y <- function(x) x^2
sum(sapply(1:4, y))
sum(Vectorise(y)(1:4))