替换在R中的长度为零

替换在R中的长度为零,r,replace,R,Replace,我有一个函数,它给了我一个错误:1111b[I]中的错误如果你想保持代码基本不变,你需要这样的东西: a <- expand.grid(rep(list(1:4), 4)) b <- numeric(256) generating_numbers <- function() { for(i in 1:nrow(a)) { z <- paste(a[i,],collapse=" ") b[i] <- z } } generating_number

我有一个函数,它给了我一个错误:
1111b[I]中的错误如果你想保持代码基本不变,你需要这样的东西:

a <- expand.grid(rep(list(1:4), 4))
b <- numeric(256)

generating_numbers <- function() {
for(i in 1:nrow(a)) {
    z <- paste(a[i,],collapse=" ") 
    b[i] <- z }
}

generating_numbers()
除非我误解了你的意图

更新:

我错过了关于在列表中的部分,因此下面是如何使用代码的修改版本将它们保留为元组:

a <- expand.grid(rep(list(1:4), 4))

generating_numbers <- function() {
  b <- NULL
  for(i in 1:nrow(a)) {
    z <- a[i,] 
    b[[i]] <- as.numeric(z) }
  return(b)
}

generating_numbers()

a如果您试图保持代码基本不变,则需要以下内容:

a <- expand.grid(rep(list(1:4), 4))
b <- numeric(256)

generating_numbers <- function() {
for(i in 1:nrow(a)) {
    z <- paste(a[i,],collapse=" ") 
    b[i] <- z }
}

generating_numbers()
除非我误解了你的意图

更新:

我错过了关于在列表中的部分,因此下面是如何使用代码的修改版本将它们保留为元组:

a <- expand.grid(rep(list(1:4), 4))

generating_numbers <- function() {
  b <- NULL
  for(i in 1:nrow(a)) {
    z <- a[i,] 
    b[[i]] <- as.numeric(z) }
  return(b)
}

generating_numbers()

<代码> >也许您只想要<代码>应用(A,1,PAST0,S塌陷=“”)/代码>?为什么您在任务中使用<代码>()/代码>?如果您想理解它为什么不起作用,请考虑:<代码> CAT/COD>不返回一个值,它在屏幕上打印。你要找的是
paste0
(例如
z加上paste,b是0…换句话说,它并不能解决问题…:(@Jealie更不用说发布的代码甚至不这样做-它只是试图通过循环每次替换
z
。也许你只是想
应用(a,1,paste0,collapse=”“)在代码中,你为什么要使用<代码>(?)/代码>?如果你想理解为什么它不起作用,考虑一下:<代码> CAT/COD>不返回一个值,它在屏幕上打印。你正在寻找的是代码> PATS0(例如,代码-Z带有粘贴,B是0 0,0,0,0,0……换句话说,它不能解决问题……(@Jealie更不用说,发布的代码甚至没有这样做-每次通过循环时,它只是尝试替换
z
)。
b <- as.list(as.data.frame(t(a)))