【发布时间】:2017-08-02 07:33:57
【问题描述】:
我遇到了与for loop to output different objects in r 几乎相同的问题,但即使考虑这里的解决方案我也不明白(对不起): 我想根据日历年创建对象(可以是矩阵、向量或其他)。
我将实际年份创建为数字:
now<-Sys.time()
actualyear<-strftime(now, format="%Y")
actualyear<-as.numeric(actualyear)
class(actualyear)
在这种情况下,我想创建 7 个名为 test2011, test2012, test2013, .... test2017 的对象,内容为等效的日历年(test2011
for(i in 2011:actualyear) {test[[i]]<-i}
【问题讨论】:
-
创建一个包含元素的列表(可以命名)。我的建议是避免使用
assign并避免让您的工作空间与对象混在一起。列表非常适合避免这种编码实践。 -
您可以在代码后添加
names(test)=paste("test",2011:actualyear) -
使用
paste0代替paste会很棒。paste函数不折叠参数会创建名称,它们之间有空格。不建议在编程中使用这些名称。因此更好地使用:names(test)=paste0("test",2011:actualyear)