R语言变量冲突

2024-01-18

我有一个 R 脚本,它采用 R 的其他脚本并以这种方式操作它们,并且还执行它们的代码。我的脚本使用一些变量(显然),当其他脚本使用公共变量名时,我会陷入混乱。我希望我可以像在胶囊中一样执行其他脚本,这样重合的变量就不会互相影响。

我一直在阅读有关环境的内容,并进行了很多尝试,但我没有理解它们的真正含义。

Example:

script1.txt
___________
i=sample(10:20,1)

script2.txt
___________
i=sample(10:20,1) 

myscript.txt
___________
other.script = c("script1.txt", "script2.txt")
for( i in 1:2 ) {
    source(other.script[i])
}
i==2

我希望每个变量“i”尽其职责而不影响其他变量(特别是 myscript 中的变量,我不太关心其他变量)。


处理这个问题的最佳方法是创建一组函数来分割脚本捕获的功能。每个函数都在自己的环境中执行,防止变量相互干扰。理想情况下,函数不应太长,例如 10-20 行或代码。比调用这些函数来完成工作的更大的脚本。如果你正确地做到了这一点,你的脚本就会简短而切题。我通常将这些函数存储在一个或多个脚本文件中,以备使用source由需要它们的脚本编辑。您甚至可以将它们包裹在一个包裹中。

按照您想要订购脚本的方式,所有变量都是全局的,即在整个程序中都可以访问。一般来说,全局变量应该像瘟疫一样避免。这正是因为您的问题集中在:如何防止变量相互干扰。就像我说的,抽象为函数或对象是防止这种情况发生的方法。有关全局变量等的更多信息可以在那里找到:

  • R 中的全局变量和局部变量 https://stackoverflow.com/questions/10904124/global-and-local-variables-in-r
  • R 中的全局变量 https://stackoverflow.com/questions/1236620/global-variables-in-r?rq=1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言变量冲突 的相关文章

  • 如何获得 STAN 中最大似然估计的标准误差?

    我在 Stan 中使用最大似然优化 但不幸的是optimizing 函数不报告标准错误 gt MLb4c lt optimizing get stanmodel fitb4c data win data init inits STAN OP
  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 将命名参数列表传递给函数?

    我想编写一个小函数来从适当的分布生成样本 例如 makeSample lt function n dist params values lt makeSample 100 unif list min 0 max 10 values lt m
  • 如何在R中计算文本中的句子数?

    我使用 R 将文本读入readChar 功能 我的目的是测试文本句子中字母 a 出现次数与字母 b 出现次数一样多的假设 我最近发现了 stringr 包 它帮助我对文本做很多有用的事情 例如计算字符数以及整个文本中每个字母出现的总数 现在
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 为什么在“ except”块之后使用命名异常会得到“ NameError”(或“ UnboundLocalError”)?

    此示例代码在 2 x 中运行 exc None try raise Exception except Exception as exc pass print exc 但在 3 x 中我收到一个错误 NameError name exc is
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 删除ggplot2中的负图区域[重复]

    这个问题在这里已经有答案了 如何删除 ggplot2 中 x 轴和 y 轴下方的绘图区域 请参见下面的示例 我尝试了几个主题元素 panel border panel margin plot margin 但没有任何运气 p lt ggpl
  • 计算每个唯一值出现的次数

    假设我有 v rep c 1 2 2 2 25 现在 我想计算每个唯一值出现的次数 unique v 返回唯一值是什么 但不返回它们的数量 gt unique v 1 1 2 我想要一些能给我的东西 length v v 1 1 25 le
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • 只读取选定的列

    谁能告诉我如何仅读取下面每年数据的前 6 个月 7 列 例如使用read table Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2009 41 27 25 31 31 39 2
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不

随机推荐

  • 为什么+号在javascript中是例外?

    我做了这个 gt 5 2 7 this is correct gt 5 2 3 obviously gt 5 2 3 ohh that s awesome gt 5 2 1 gt 5 2 2 5 looks like 2 is automa
  • Log4j:如何为多个附加程序定义通用布局和 ConversionPattern

    我的中有多个附加程序log4j配置 我想知道是否可以为所有这些定义一次布局和转换模式 IE 我有 log4j appender CA org apache log4j ConsoleAppender log4j appender CA la
  • Rails 3 fields_for - 排序顺序丢失

    我正在使用 Rails 3 0 3 和 ruby 1 9 2p0 在我的profiles controller 编辑功能 中我有这个电话 profile Profile find params id profile items profil
  • 打开应用程序 来电或去电断开后

    我正在创建一个应用程序 我可以在其中获取通话历史记录listview 现在我正在尝试的是在任何来电或去电断开后 我想打开它listview 但我不知道我的应用程序没有打开 我的listview任何调用后都不显示页面 以下是我的代码 publ
  • 在 Android 中使用谷歌地图查找最近的餐厅、咖啡店和杂货店

    我正在 android sdk 中工作并使用谷歌地图 api 我想知道是否有任何方法可以从用户当前位置找到最近的餐厅或咖啡店或杂货店 有许多应用程序可用于此目的 但我想编写自己的应用程序以用于学习目的 这可能有帮助 不知道它是否适用于and
  • 处理 SOAP 响应

    我正在尝试处理来自 First Data 的全球网关的 SOAP 响应 我以前使用过 SoapClient 但没有 wsdl 并且该公司表示他们不提供 wsdl 我尝试了各种其他方法 例如基于此处和 PHP 手册中找到的示例的 Simple
  • 在Python中处理多个相同类型的异常并恢复执行

    看来 一旦您在 Python 中引发了用户定义的异常 就无法恢复测试的执行 但在我的场景中 我想检查不同输入值发生的错误 但当前的实现仅限于继续对不同输入向量进行错误检查 然而 在对我的问题提出某种复杂的解决方案之前 我想我应该询问专家 看
  • Robolectric 2.4 创建活动时 NoSuchMethodError 无法转换为 RuntimeException

    我开始在 Android Studio 中使用 Robolectric 起初我想使用 hamcrest 创建一个简单的测试 如下所示 RunWith CustomTestRunner class Config emulateSdk 18 p
  • 如何使WCF命名管道地址等于WinApi地址?

    我注意到WCF的命名管道地址 net pipe localhost mynamedpipe 和 Windows API pipe mynamedpipe 不要碰撞 这是为什么 我怎样才能让它们指向同一个管道 没有记录的方法可以做到这一点 经
  • 字典的匿名集合初始值设定项

    是否可以隐式声明 nextDictionary
  • 如何在 TensorFlow 中打印 Tensor 对象的值?

    我一直在使用 TensorFlow 中矩阵乘法的介绍性示例 matrix1 tf constant 3 3 matrix2 tf constant 2 2 product tf matmul matrix1 matrix2 当我打印产品时
  • 正确 Dafny 方法的 Z3 模型

    对于正确的方法 Z3能否找到该方法验证条件的模型 我原以为不会 但这里有一个例子 该方法是正确的 但验证发现了一个模型 这是 Dafny 1 9 7 的情况 Malte 所说的是正确的 我发现它也得到了很好的解释 Dafny 是健全的 因为
  • 图像属性的值 (C#)

    我正在尝试解决更改 Bitmap 对象的 ImageDescription 值的问题 添加文件的描述 搜索了相关主题 没有找到解决方案 My code public Bitmap ImageWithComment Bitmap image
  • 为什么我的 Cassandra 更新不起作用?

    我有以下 Cassandra 表 create table start stop id text start text end text price double PRIMARY KEY id start 我做了这样的插入 insert i
  • 在nodejs中获取url的响应(express/http)

    我试图在nodejs 中获取两个URL 的响应 但是http request 有问题 这是我到目前为止所拥有的 var url https www google com pretend this exists xml var opt hos
  • 样式组件中的CSS' calc() [重复]

    这个问题在这里已经有答案了 尝试这个 const styledDiv styled div props gt props takeViewportHeight min height calc 100vh 16px 它不起作用 我是否遗漏了样
  • 警告:mysql_query(): 3 不是有效的 MySQL-Link 资源

    我遇到了这个奇怪的错误 但我不知道它来自哪里 Warning mysql query 3 is not a valid MySQL Link resource in 3号怎么了 我不明白 有没有人自己经历过这个错误 PHP 使用资源作为特殊
  • 如何在 Android 模拟器中安装 APK 文件?

    我终于成功混淆了我的 Android 应用程序 现在我想通过安装来测试它APK http en wikipedia org wiki APK 28file format 29文件并在模拟器上运行 如何在 Android 模拟器上安装 APK
  • 无法在 macOS High Sierra 上构建和安装 Valgrind

    我无法在 macOS High Sierra 上安装 Valgrind 无法通过brew 我尝试过3 10 https github com msgpack msgpack c issues 525 After make install 我
  • R语言变量冲突

    我有一个 R 脚本 它采用 R 的其他脚本并以这种方式操作它们 并且还执行它们的代码 我的脚本使用一些变量 显然 当其他脚本使用公共变量名时 我会陷入混乱 我希望我可以像在胶囊中一样执行其他脚本 这样重合的变量就不会互相影响 我一直在阅读有