i必须编写一个R函数,该函数将接受向量输入,然后将该向量X的每个元素提高到所指示的Y的幂。但是,除此之外,我需要打印每个指示元素和它们的总价值。我得到的总和部分,但是如果函数只返回一个对象,我该如何打印每个指示值?请帮助。(我必须在问题上指定的循环(
sum.power <- function(x,y=2) {
n <- c(x)
x <- length(n)
S <- 0
for (i in 1:x){
S<- S+n[i]^y
}
return(S)
}
sum.power (3:10,5)
我们不需要循环。^
接受vector
作为输入。完成此操作后,将多个输出返回为list
sum.power <- function(x, y = 2) {
x1 <- x^y
list(x1, sum(x1))
}
sum.power(3:10, 5)
#[[1]]
#[1] 243 1024 3125 7776 16807 32768 59049 100000
#[[2]]
#[1] 220792
如果我们需要使用OP的功能,请创建另一个vector
来持有^
的值并返回list
sum.power <- function(x,y=2) {
n <- x
x <- length(n)
S <- 0
E <- numeric(x)
for (i in seq_len(x)){
E[i] <- n[i]^y
S <- S+ E[i]
}
return(list(E, S))
}
sum.power (3:10,5)
#[[1]]
#[1] 243 1024 3125 7776 16807 32768 59049 100000
#[[2]]
#[1] 220792