如何使用户生成函数返回sum c()^y并打印每个元素和总计

  • 本文关键字:打印 元素 用户 何使 函数 返回 sum r
  • 更新时间 :
  • 英文 :


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

最新更新