我的工作设置很大程度上依赖于rcom库,这是迄今为止R 3.x无法使用的(由于许可问题).
我很高兴继续使用R v 2.15.3,但install.packages不再获取新的包.
是否有任何方法可以根据需要制作旧的R下载包install.packages("MASS")
?
是否有任何宏命令允许从另一个程序调用一个程序(%run_program()
伪代码)?
程序"设置":
%let myvar="HELLO WORLD!";
Run Code Online (Sandbox Code Playgroud)
计划"计划":
%run_program(Settings); *Pseudo-code;
%put &myvar; *Should print *Should print "HELLO WORLD!";
Run Code Online (Sandbox Code Playgroud)
这应该很快回答:
我想使用jags包的jags.model
功能.在许多论点中,它需要这个论点file
:
file
- 包含BUGS语言的JAGS方言中模型描述的文件名.或者,文件可以是可读的文本模式连接,也可以是完整的URL.
我想将字符串传递给此参数.解决此问题的一种方法是将字符串写入临时文件并传递文件名.但我希望有一种直接的方法将字符串转换为连接.
假设我写了一个函数,我想调试它.
PyDev通过其高级功能(如断点)帮助调试很多.
设置断点后,一种调试方法是def main()
在模块的主体中或仅在模块的主体中写入函数的调用,并按下 按钮.
是否可以从控制台启动函数的调试会话及其参数?(就像在RStudio或VBA中一样......)
这个问题是pydev的重复:在控制台模式下调试(交互式)?
更新:我真的不知道,点击的神奇组合是什么,使交互式调试成为可能.
这是我的工作,这是行不通的(在Ubuntu 14.04和Eclipse 4.4.I20140606-1215与PyDev 3.6.0.2014062323,Python 3.4.0,IPython 1.2.1)
首先,我创建一个新的PyDev项目:
然后我插入一个带有一些代码的新.py文件,并创建一些断点:
然后我右键单击代码上的某个地方,Debug As...
- > Python run
.
然后打开2个控制台,其中没有一个是IPython.活动控制台已命名[Debug console] proba.py
. 在此控制台中键入命令不会使计算机执行它们.
还有其他可用的控制台,仅命名proba.py
.
然后Python3(因为这是我需要的):
之后我有一个完全工作的IPython控制台.
当我执行文件时execfile
,它会触发错误Failed to create input stream: Read timed out
:
虽然看起来,通过代码工作,我无法从IPython控制台访问变量,虽然可以从Variables视图访问它们:
我想有条件地执行一组任务.是否有任何语法可以让我执行一组任务,其中每个整个组都评估一次条件(比如if
编程语言中的语句)?
看一下下面的代码片段.我知道差异很小,但第一个代码更好地表达了我的意图,而没有用额外的变量(user_home_result2
)污染命名空间.
- name: Capturing user's home directory
shell: "getent passwd {{ user }} | awk -F: '{ print $6 }'"
register: user_home_result
- set_fact: user_home={{ user_home_result.stdout }}
- when: user_home != ''
- name: Setting up user {{ user }}
user: >
generate_ssh_key=yes
name="{{ user }}"
- name: Capturing user's home directory
shell: "getent passwd {{ user }} | awk -F: '{ print $6 }'"
register: user_home_result
- set_fact: user_home={{ user_home_result.stdout }}
Run Code Online (Sandbox Code Playgroud)
- …
Run Code Online (Sandbox Code Playgroud) 我需要在我正在编写的R包中包含几个bash脚本.我喜欢将它们与包一起分发,因此当用户通过devtools::install_github(...)
他/她安装包时也可以获得脚本.
我知道这是可能的,但我不知道如何.将文件包含在scripts
子目录中似乎不够.我需要一种方法告诉R(或RStudio)包含它们.
我使用RStudio进行开发,所以我很欣赏与RStudio提供的"构建包"功能集成的解决方案.
假设,我有一个 cell 向量A1:A5
,每个向量都有一个字符串,它是另一个单元格的地址。
我想要做的是有一个函数,它从这些引用的单元格中返回一组值。请参阅示例 - 我希望公式返回 15(它返回 1)。
在生产环境中,这个向量要长得多(大约 2000 行)。
可以解决问题的是支持数组的 INDIRECT()。
(我意识到,我可能正在推动 Excel 超出其极限)...
我对这个话题的进一步想法:
由于 INDIRECT() 甚至能够从单个单元格输入生成数组,因此这种理论上的“INDIRECTARR()”公式要么需要 Excel 中的嵌套(即多维)数组计算支持,要么本质上仅限于表示一个的参数-维范围。
Excel 在内部将日期存储为浮点序列日期。我们知道如何将其转换为 R - using as.Date(var2, origin="1899-12-30", tz='UTC')
。
问题是:如何将其转换回 Excel?我尝试了所有显而易见的事情,但仍然不匹配。
我正在努力编写一个脚本,该脚本会以某种方式抓取https://www.rstudio.com/products/rstudio/download/
最新 RStudio 版本的编号,下载并安装它。
由于我是 R 程序员,所以我开始使用rvest
package.json编写 R 脚本。我设法抓取了 RStudio 服务器的下载链接,但我仍然无法获得 RStudio 本身。
这是用于获取适用于 Ubuntu 的 64 位 RStudio 服务器的下载链接的 R 代码。
if(!require('stringr')) install.packages('stringr', Ncpus=8, repos='http://cran.us.r-project.org')
if(!require('rvest')) install.packages('rvest', Ncpus=8, repos='http://cran.us.r-project.org')
xpath<-'//code[(((count(preceding-sibling::*) + 1) = 3) and parent::*)]'
url<-'https://www.rstudio.com/products/rstudio/download-server/'
thepage<-xml2::read_html(url)
the_links_html <- rvest::html_nodes(thepage,xpath=xpath)
the_links <- rvest::html_text(the_links_html)
the_link <- the_links[stringr::str_detect(the_links, '-amd64\\\\.deb')]
the_r_uri<-stringr::str_match(the_link, 'https://.*$')
cat(the_r_uri)
Run Code Online (Sandbox Code Playgroud)
不幸的是,RStudio 桌面下载页面具有完全不同的布局,我在这里无法使用相同的方法。
有人可以帮我弄这个吗?我不敢相信,世界上所有的数据科学家都手动升级了他们的 RStudio!
有一个更简单的脚本版本,它读取 RStudio 服务器的版本。bash 版本:
RSTUDIO_LATEST=$(wget --no-check-certificate -qO- https://s3.amazonaws.com/rstudio-server/current.ver)
Run Code Online (Sandbox Code Playgroud)
或 R 版本:
scan('https://s3.amazonaws.com/rstudio-server/current.ver', what = character(0))
Run Code Online (Sandbox Code Playgroud)
但是 RStudio-desktop 的版本仍然让我望而却步。
最初的问题发布在 Reddit 上(https://www.reddit.com/r/manim/comments/lw3xs7/is_it_possible_to_run_manim_programmatically_and/)。我冒昧在这里问一下。
假设我想编写一个简单的 GUI 应用程序,用户可以在其中输入 LaTeX 代码,单击“动画”按钮,然后 manim 在后台渲染 mp4,最后将动画呈现给用户。
是否可以使用 manim 作为模块来实现这一点?例如,通过在先前准备好的 manim 场景中插入用户输入,然后调用类似my_scene.run(output=tempfile.mp4)
? 或者我是否必须接受用户输入,将其写入新的 scene.py 文件并运行os.subprocess("manim", "scene.py", "MyScene", "-p")
?