【发布时间】:2015-04-18 16:56:06
【问题描述】:
尝试为我的可重现示例组合一个循环。
for (i in c(2006,2008,2010,2012)) {
UniqueID <- 1:10 # <- Not all numeric - Kept as character vector
Name <- LETTERS[seq( from = 1, to = 10 )]
Entity_Type <- factor("This","That")
Data1 <- rnorm(10)
Data2 <- rnorm(10)
Data3 <- rnorm(10)
Data4 <- rnorm(10)
Year <- i
x[i] <- data.frame(UniqueID, Name, Entity_Type, Data1, Data2, Data3, Data4, Year)
}
现在错误是:
Error in `[<-.data.frame`(`*tmp*`, i, value = list(UniqueID = 1:10, Name = 1:10, :
new columns would leave holes after existing columns
我怎样才能格式化它以便它可以在一年中使用该值?
谢谢!
【问题讨论】:
-
我想你的意思是
Year <- i。您应该只使用方括号进行子设置。 -
谢谢!这修复了该部分,但现在它在创建每个单独的数据框时会弹出一个不同的错误。
-
什么是
x?请确保您的示例是reproducible。如果是列表,您很可能需要x[[i]]<-。另外,这基本上完全改变了你原来的问题,因为这是一个完全不同的问题。您不应进行完全改变问题的编辑。 -
对不起。 csgillespie 修复了我的第一个非常简单的错误。修复后,下一个可执行部分没有清除。我正在尝试制作 4 个数据框,每个数据框都有不同的年份变量和名称