【问题标题】:Increment a variable each time a script每次执行脚本时增加一个变量
【发布时间】:2023-04-01 23:22:01
【问题描述】:

我有一个自动运行的 R 脚本。每次运行脚本中的变量时,都应该递增。作为示例,我有以下 R 脚本:

aaaaaa
bbbbbbbbbb
lab0 <- xxx(ffff,(hhh))
zzzzzzz

当上述脚本运行时,lab0 应该递增到 lab1。当它再次运行到 lab2 时,当它再次运行到 lab3 等时。 任何有关如何做到这一点的帮助将不胜感激。谢谢。

【问题讨论】:

  • 以上示例代码在一个文件中。
  • 这是在 Linux 上运行的。

标签: r increment


【解决方案1】:

我完全不确定以下是否是您想要的。
此脚本每次运行时都会将lab0 递增到lab1, ...

## Not run
#rm(list = ls())

xxx <- function(x, y) x + y
ffff <- 1; hhh <- 2
lab0 <- xxx(ffff, hhh)

# increment counter
i <- as.integer(sub("lab", "", grep("lab", ls(pattern="lab")[length(ls(pattern="lab"))], value = TRUE))) + 1
#assign the value of lab0 to the new lab
assign(paste0("lab", i), lab0)

ls(pattern = "lab")    # check to see if it worked

【讨论】:

  • 抱歉听起来很愚蠢。我将如何使用您的脚本?比如,我在哪里给出我的脚本的名称?我假设你的脚本是一个 R 脚本?
  • @user1907031 在问题中你说你有一个自动运行的 R 脚本。试试这个,看看这是否是你需要的。如果你多次运行这个脚本,你会看到lab0,然后是lab1,然后是lab2,等等。但就像我说的,我不太明白这个问题。如果这不是你需要的,请说出来,我会删除它。
  • @user1907031 我假设脚本在同一个 R 会话中运行多次。
  • 我有一个 R 脚本,它会定期下载推文。这是通过使用 Crontab 运行脚本来完成的。 R 脚本将推文保存为名为 lab0 的 R 对象,这是脚本第一次运行的时间。当此脚本第二次运行时,lab0 对象将被覆盖。为了防止这种情况,我需要一种将lab0 增加到lab1 的方法。当脚本第三次运行时,lab1 应该递增到 lab2,等等。所以这就是为什么我需要另一个脚本来递增 lab0。执行增量的第二个脚本也将由 Crontab 运行。谢谢。
  • 我已经尝试过它只从 0 增加到 1 的脚本,而不是超过。
猜你喜欢
  • 1970-01-01
  • 2021-08-16
  • 2013-08-20
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 2011-07-20
  • 2014-03-25
相关资源
最近更新 更多