是否有可能在R中的方程中进行注释?例如:
100 /* item 1 */ + 200 /* item 2 */
Run Code Online (Sandbox Code Playgroud)
给出300的答案.
我认为/* */是C代码.虽然,我不确定100 /* item 1 */ + 200 /* item 2 */会在C中运行.
如果我100 # item 1 # + 200 # item 2 #在RI中使用得到100的答案,因为在第一个之后的所有内容都#被忽略,正如我所料.
我想我可以使用:
# item 1 item 2
100 + 200
Run Code Online (Sandbox Code Playgroud)
我只是在想,当方程变得非常冗长而且复杂占用几条线时,在方程中进行注释可能会很好.
以下工作并返回300:
(100 + # item 1
200 ) # item 2
Run Code Online (Sandbox Code Playgroud)
这需要在每个注释之后添加一个新行,并且是我最接近上面的例子,只包含一行.
谢谢你的建议.
我有一个字符串数据集,并希望提取一个子字符串,包括第一个冒号.之前我在这里发帖询问如何提取第一个冒号之后的部分:在第一个冒号处拆分字符串 下面我列出了一些解决当前问题的尝试.
我知道^[^:]+:匹配我想保留的部分,但我无法弄清楚如何提取该部分.
这是一个示例数据集和所需的结果.
my.data <- "here is: some text
here is some more.
even: more text
still more text
this text keeps: going."
my.data2 <- readLines(textConnection(my.data))
desired.result <- "here is:
0
even:
0
this text keeps:"
desired.result2 <- readLines(textConnection(desired.result))
# Here are some of my attempts
# discards line 2 and 4 but does not extract portion from lines 1,3, and 5.
ifelse( my.data2 == gsub("^[^:]+:", "", my.data2), '', my.data2)
# returns the portion I do …Run Code Online (Sandbox Code Playgroud) 我有一个如下的数据集 -
> a_i
[1] "Our-Facebook-Page/td-p/3175990"
[2] "Our-Facebook-Page/td-p/3175990/page/2"
....
[17] "Data-duplicate-files/td-p/4743405"
[18] "Data-duplicate-files/td-p/4743405/page/2"
[19] "Subscription-Release-1-sucks/td-p/4556739"
[20] "Subscription-Release-1-sucks/td-p/4556739/page/2"
> b_i
[1] "Data-duplicate-files/td-p/4743405"
[2] "Subscription-Release-1-sucks/td-p/4556739"
[3] "Quick-fix/td-p/4556740"
Run Code Online (Sandbox Code Playgroud)
我的目标是找到仅存在于b_i中的7位数字(例如4743405,4556739,4556740),并从包含相应数字的a_i中获取数据.所以最终输出将是这样的 -
[1] "Data-duplicate-files/td-p/4743405"
[2] "Data-duplicate-files/td-p/4743405/page/2"
[3] "Subscription-Release-1-sucks/td-p/4556739"
[4] "Subscription-Release-1-sucks/td-p/4556739/page/2""
Run Code Online (Sandbox Code Playgroud)
我能够使用strsplit(b_i,"/")获取数字但我仍然在抓取包含匹配数字的列表.是否有任何优雅的方式来映射这些数字并获取列表?
我最近买了一台笔记本电脑Linux Mint 17.我以前从未使用过运行的计算机Linux(除非将R文件提交到群集).
我想R在笔记本电脑上安装.http://cran.at.r-project.org/上提供的选项
似乎是:
1. debian
2. redhat
3. suse
4. ubuntu
Run Code Online (Sandbox Code Playgroud)
我怀疑这些是不同的变种Linux.哪一个适合机器运行Linus Mint?
如果我点击笔记本电脑上的终端图标并输入:
mark@mark-Vostro-1500 ~ $ lsb_release -irc
Run Code Online (Sandbox Code Playgroud)
我明白了:
Distributor ID: LinusMint
Release: 17
Codename: qiana
Run Code Online (Sandbox Code Playgroud)
启动屏幕还包括以下术语: Cinnamon 32-bit
我想从这篇文章:
这Linus Mint将运行R,但我不知道这四个选项,我需要.也许这四个选项中的任何一个都可行吗?
感谢您的任何建议,并对这样一个基本问题感到抱歉.
我希望用来从单个文件夹中R读取多个csv文件.如果我想阅读csv我可以使用的每个文件:
list.files(folder, pattern="*.csv")
Run Code Online (Sandbox Code Playgroud)
例如,请参阅以下问题:
但是,我只希望一次读取文件的四个子集中的一个.下面是三个模型的四个文件的示例分组.
JS.N_Nov6_2017_model220_N200.csv
JS.N_Nov6_2017_model221_N200.csv
JS.N_Nov6_2017_model222_N200.csv
my.IDs.alt_Nov6_2017_model220_N200.csv
my.IDs.alt_Nov6_2017_model221_N200.csv
my.IDs.alt_Nov6_2017_model222_N200.csv
parms_Nov6_2017_model220_N200.csv
parms_Nov6_2017_model221_N200.csv
parms_Nov6_2017_model222_N200.csv
supN_Nov6_2017_model220_N200.csv
supN_Nov6_2017_model221_N200.csv
supN_Nov6_2017_model222_N200.csv
Run Code Online (Sandbox Code Playgroud)
如果我只想阅读,例如,parms我尝试以下文件,这是行不通的:
list.files(folder, pattern="parm*.csv")
Run Code Online (Sandbox Code Playgroud)
我假设我可能需要用来regex阅读目前四组的特定组,但我不知道.
如何分别阅读四组中的每一组?
编辑
我不确定我是否能够从这个问题的答案中获得解决方案:
我可能不得不花费相当多的时间regex来应对这些问题的答案.下面提供的答案Mako212非常出色.
我希望matrix按行编号非零元素。这是一个小的数据集和所需的结果。我希望在base中有一个解决方案R。
my.data <- matrix(c(10, 0, 0, 0, 0,
0, 3, 9, 0, 1,
2, 12, 0, 0, 0,
5, 5, 5, 0, 5,
0, 0, 0, 0, 0), nrow = 5, byrow = TRUE)
desired.result <- matrix(c( 1, 0, 0, 0, 0,
0, 1, 2, 0, 3,
1, 2, 0, 0, 0,
1, 2, 3, 0, 4,
0, 0, 0, 0, 0), nrow = 5, byrow = TRUE)
Run Code Online (Sandbox Code Playgroud) 我已经能够使用r6a.48xlarge Amazon Web Services实例(192 vCPUs内存1536.00 GiB)和以下R代码同时运行 20 个模型:
setwd('/home/ubuntu/')
library(doParallel)
detectCores()
my.AWS.n.cores <- detectCores()
my.AWS.n.cores <- my.AWS.n.cores - 92
my.AWS.n.cores
registerDoParallel(my.cluster <- makeCluster(my.AWS.n.cores))
folderName <- 'model000222'
files <- list.files(folderName, full.names=TRUE)
start.time <- Sys.time()
foreach(file = files, .errorhandling = "remove") %dopar% {
source(file)
}
stopCluster(my.cluster)
end.time <- Sys.time()
total.time.c <- end.time-start.time
total.time.c
Run Code Online (Sandbox Code Playgroud)
然而,直到我用这一行减少了to fromR的数量后,上面的代码才运行:cores100192
my.AWS.n.cores <- my.AWS.n.cores - 92
Run Code Online (Sandbox Code Playgroud)
如果我尝试用 all 运行代码,192 vCPUs或者187 vCPUs我得到这个 …
我试图运行需要R包'pkgDepTools'和'Rgraphviz'的代码.我收到错误消息,说这两个软件包都不适用于R版本2.15.0.
谷歌搜索出现了以下似乎有这些软件包的网页RPM Pbone:
和
但是,文件的扩展名为*.rpm,而不是我习惯的*.tar.gz或*.zip扩展名.
我使用的是Windows 7和R版本2.15.0.我可以从*.rpm文件安装R包吗?
来自维基百科*.rpm似乎可能更适合Linux:
http://en.wikipedia.org/wiki/RPM_Package_Manager
关于其他可能的解决方案,我在这里发现了几个早期的帖子,其中有关于安装R软件包的类似问题,这些软件包不适用于最新版本的R:
我已经安装了最新版本的Rtools和'devtools'软件包.虽然我对他们一无所知.
这里有一个'Rgraphviz'的存档版本:
http://cran.r-project.org/src/contrib/Archive/Rgraphviz/
但我找不到'pkgDepTools'的存档版本.
如果我可以使用上面的*.rpm文件在Windows机器上安装软件包,有人可以提供说明吗?
如果我必须使用Rtools构建它们,我可能会提出更多问题,因为以下链接中的说明对我来说很有挑战性:
http://cran.r-project.org/doc/manuals/R-admin.html#Building-from-source
为了完全透明,我希望有人可以为我建造它们,如果可能的话.虽然我认识到自己做的经验和知识,但从长远来看,这可能会得到回报.
谢谢你的任何建议.
我的df2:
League freq
18 England 108
27 Italy 79
20 Germany 74
43 Spain 64
19 France 49
39 Russia 34
31 Mexico 27
47 Turkey 24
32 Netherlands 23
37 Portugal 21
49 United States 18
29 Japan 16
25 Iran 15
7 Brazil 13
22 Greece 13
14 Costa 11
45 Switzerland 11
5 Belgium 10
17 Ecuador 10
23 Honduras 10
42 South Korea 9
2 Argentina 8
48 Ukraine 7
3 Australia 6
11 …Run Code Online (Sandbox Code Playgroud)