就使用云计算而言,我是一个新手,但我得到了这个概念并且非常擅长遵循指令.我想对我的数据做一些模拟,每个步骤需要几分钟.鉴于我的数据中的层次结构,每组需要几个小时.我想通过在亚马逊的EC2云上运行它来加快速度.
阅读本文后,我知道如何启动AMI,通过shell连接到它,并在命令提示符下启动R.
我想要帮助的是能够复制数据(.rdata文件)和脚本,并在R命令提示符下获取它.然后,一旦将所有结果写入新的.rdata文件,我想将它们复制回本地计算机.
我该怎么做呢?
所以这段代码:
library(plyr)
library(doMC)
registerDoMC(cores=2)
x=1:100
llply(x, some_function, .parallel=TRUE)
Run Code Online (Sandbox Code Playgroud)
失败并出现如下错误:
__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ ()
Run Code Online (Sandbox Code Playgroud)
当我从终端运行R时,错误消失.所以它是关于GUI的东西打破了它.不幸的是,我与合作者共享此代码,所以我不能要求他们从终端运行它.这个论坛帖子说看起来好像这个问题w/doMC后端来自我一直在寻找"/Applications/R.app/Contents/Resources/GUI- tools.R",但我并不是故意在R中这样做.应用程序.有没有办法解决这种冲突的行为?
我的Mac规格:还运行R GUI 2.13.1.OSX 10.7.1,带有64位R.app的doMC版本1.2.3.还有一台配备Intel Core 2 Duo的MB Pro 2.53
比方说,我有3个包A
,B
和C
。
B
连接到data repository 1
该 API 并具有特定于该 API 的功能。
C
连接到data repository 2
该 API 并具有特定于该 API 的功能。
最终会有更多的子包。
包A
将具有generic
适用于通过B
和获取的数据的方法和其他常见功能(例如身份验证)C
。这里的基本原理是,这将是一种更流畅的方式来跟上开发的步伐(例如,必须更新单个auth
函数而不是在每个子包中都这样做)。因此,它是有道理的,A
是对的依赖列表B
和C
但我也希望用户只安装A
并访问所有子包。为此,我希望B
并C
在其依赖列表中。
这可能吗?我应该有一个更好的工作流程吗?
不幸的是我吮吸regexp.如果我有这样的路径:
/long/path/to/file
,我只需要接触file
.
如果有人供应file/
我只需要file
.
如果有人供应/file/
,我仍然需要file
.
我一直在使用stringr
函数作为拐杖,但这似乎是直截了当的grep
领域.请帮忙?
我怀疑我在这里遗漏了一些明显的东西,但是如何解析R中深层嵌套的结构RJSONIO
?
例如 - 假设我直接想要results.data.json$MRData$RaceTable$Races[[1]]$Results[[8]]$Driver
使用以下代码段引用$ familyName :
require(RJSONIO)
resultsURL='http://ergast.com/api/f1/2012/1/results.json'
results.data.json=fromJSON(resultsURL)
Run Code Online (Sandbox Code Playgroud)
RJSONIO
似乎不想将..$Results[[i]]
数据解析为结构化元素?
我有这些数据:
structure(list(type = c("journal", "all", "similar_age_1m", "similar_age_3m",
"similar_age_journal_1m", "similar_age_journal_3m"), count = c("13972",
"754555", "22408", "56213", "508", "1035"), rank = c("13759",
"754043", "22339", "56074", "459", "947"), pct = c("98.48", "99.93",
"99.69", "99.75", "90.35", "91.50")), .Names = c("type", "count",
"rank", "pct"), row.names = c(NA, -6L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
我想把它变成一行,列的名称2:4
以相应的类型为前缀.例如journal.count
,journal.rank
......最快的方法是什么?出于某种原因dcast
,reshape
并没有为我做这个,我的解决方案有点太麻烦.
word:12335
anotherword:2323434
totallydifferentword/455
word/32
Run Code Online (Sandbox Code Playgroud)
我需要前抢字符串:
或/
仅使用基础R功能.我可以使用stringr
但不想在我的包中添加另一个依赖项.单词可以具有可变数量的字符,但总是以(一个)分隔符结束.我不需要保留之后的内容.
我有80个相关项目的列表.每个列表都是一个长度为1000的列表.我想在每个列表上运行一个函数(1000个中的每一个),并将结果分配回原始对象.总数据超过150演出,所以我想确保在实际数据上运行之前这是最有效的.这个简单的例子是我需要的最佳方式吗?
# my actual function is obviously more complicated.
# But let's say the goal is to keep 2/5 items in each list
trivial <- function(foo) {
keep <- c("S1", "S2")
foo[which(keep %in% names(foo))]
}
sublist <- replicate(5, as.list(1:5), simplify=FALSE)
names(sublist) <- paste0("S", 1:5)
eachlist <- replicate(5, sublist, simplify = F)
a1 <- a2 <- a3 <- a4 <- a5 <- eachlist
# To clarify the layout
length(a1)
[1] 5
> length(a1[[1]])
[1] 5
> names(a1[[1]])
[1] "S1" "S2" "S3" …
Run Code Online (Sandbox Code Playgroud) 使用tk_choose.files
或file.choose
我能够以交互方式选择文件。是否有类似的功能,我可以让用户以交互方式决定在哪里保存 write.table 的输出?
每次启动时,R都会加载一条长而冗余的消息.有没有办法在我的命令中清除这个.rprofile
?
目前我只是让它加载然后按⌘+ L清除它但是自动执行它会很好.