R 如何将对象指定给函数的输出?
我正在尝试为Sys.Date()的输出分配一些内容。例如,假设我想用今天的日期命名对象:R 如何将对象指定给函数的输出?,r,R,我正在尝试为Sys.Date()的输出分配一些内容。例如,假设我想用今天的日期命名对象: 格式(Sys.Date(),%b%d”)我们可以使用assign assign(format(Sys.Date(), "%b%d"), mtcars) head(Sep11) # mpg cyl disp hp drat wt qsec vs am gear carb #Mazda RX4 21.0 6 160 11
格式(Sys.Date(),%b%d”)我们可以使用assign
assign(format(Sys.Date(), "%b%d"), mtcars)
head(Sep11)
# mpg cyl disp hp drat wt qsec vs am gear carb
#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
非常感谢。我确实尝试过先分配,但只是简单地将format()包装在其中,并得到了相同的错误。为什么要这样做?在R中,将数据存储在变量名本身通常是一个坏主意。如果需要动态生成名称以使用命名列表并避免使用eval()
和assign()
函数,因为它们会产生不必要的开销。我基本上是给我正在处理的数据帧加时间戳——我现在手动命名它们,如果我想运行的话,这会变得越来越乏味。我可以看到将它们保存在一个列表中的价值,减少了一个列表的混乱,但是我如何向列表中动态命名的插槽添加新元素呢?我有一个包含元素Sep03和Sep09的列表x-如何将动态命名的元素Sep11添加到x?您可以使用任何字符串值进行赋值,如x[[“Sep11”]@MrFlick赋值到命名列表中的函数输出有效,我看到自己正在使用它。然而,我的问题是关于在全球环境中分配的,所以我将留下akrun作为公认的答案。把它作为一个单独的答案留给其他人去寻找?猜测会使答案比评论更重要。