在R中追加向量

在R中追加向量,r,append,R,Append,我试图编写一个简单的函数,从一个向量中获取一个随机样本,打印它,然后更新以前打印的样本列表。但是,我的功能一直在替换以前的项目。以下是该函数的抽象版本: a <- rep(1:10) b <- vector(length = 0) fun <- function() { s <- sample(a, 1) b <- c(b,s) print(paste("Sample:", s)) print(paste("

我试图编写一个简单的函数,从一个向量中获取一个随机样本,打印它,然后更新以前打印的样本列表。但是,我的功能一直在替换以前的项目。以下是该函数的抽象版本:

a <- rep(1:10)

b <- vector(length = 0)

fun <- function() {
  s <- sample(a, 1)
  b <- c(b,s)
  
  print(paste("Sample:", s)) 
  print(paste("Selected so far:",b))

}

fun() 

[1] "Sample: 8"
[1] "Selected so far: 8"

fun()

[1] "Sample: 6"
[1] "Selected so far: 6" # should be 8 6  

a你需要使用
你需要使用
如果你想避免超级赋值(通常是个好主意),你可以让你的函数接受一个参数

fun <- function(b) {
  s <- sample(a, 1)
  b <- c(b,s)
  
  print(paste("Sample:", s)) 
  print(paste("Selected so far:",b))
  return(b)
}

b <- fun(b)
b <- fun(b)

fun如果你想避免超级赋值(通常是个好主意),你可以让你的函数接受一个参数

fun <- function(b) {
  s <- sample(a, 1)
  b <- c(b,s)
  
  print(paste("Sample:", s)) 
  print(paste("Selected so far:",b))
  return(b)
}

b <- fun(b)
b <- fun(b)

fun谢谢,我假设避免重复“选择到目前为止:”我可以执行单独的打印功能?您可以尝试粘贴(“选择到目前为止:”,粘贴(b,collapse=“,”)
。谢谢,我假设避免重复“选择到目前为止:”我可以执行单独的打印功能?您可以尝试
粘贴(“选择到目前为止:”,粘贴(b,collapse=“,”)