小编h.l*_*l.m的帖子

从sys.time获取数字

是否有一种更有效/更优雅的方法来执行以下操作,其中我连接输出的Sys.time()输出中的所有数字

x <- as.character(Sys.time())
paste0(substr(x,0,4),substr(x,6,7),substr(x,9,10),substr(x,12,13),substr(x,15,16),substr(x,18,20))
Run Code Online (Sandbox Code Playgroud)

它可能包括粘贴和崩溃,但不知道如何做到这一点......

r concatenation

2
推荐指数
2
解决办法
108
查看次数

lapply和子集列

我希望制作使用lapply()更优雅的位...(即一个衬垫会很好),而不是之前必须设置一个功能.即是否有一个标准函数,我可以使用[,c(1:4)]或类似的东西作为参数...

所以要做一个可重复的例子......

x <- xts(matrix(rnorm(500*8),ncol=8),Sys.Date()-500:1)
x.m <- split(x,'months')
Run Code Online (Sandbox Code Playgroud)

以下基本上只对从分割创建的列表的每个元素采取前4列,因此我必须创建一个功能,但我希望它更优雅的某种方式......

ff <- function(xts.obj){xts.obj[,c(1:4)]}

g <- lapply(x.m, ff)
Run Code Online (Sandbox Code Playgroud)

谢谢

r subset lapply xts

2
推荐指数
1
解决办法
4021
查看次数

R字符串源

希望这不应该太复杂....但我有以下字符串x,并希望它以编程方式来源作为一个函数,以便我可以输入

HW.R()
Run Code Online (Sandbox Code Playgroud)

生成100个随机法线....即我需要执行哪些操作x才能实现?

下面是要生成的代码 x

require(RCurl)
x <- base64Decode("SFcuUiA8LSBmdW5jdGlvbigpewogIHJub3JtKDEwMCkKfQ==\n")
x
[1] "HW.R <- function(){\n  rnorm(100)\n}"
Run Code Online (Sandbox Code Playgroud)

regex r

2
推荐指数
1
解决办法
60
查看次数

用于并行处理的负载平衡

我正在运行一个类似于查找标准偏差的函数...但运行时间要长得多.

我打算使用该函数来计算标准偏差的累积值,即标准偏差类型函数的第1天到第n天.

但是由于需要很长的时间来计算,我想在集群上运行它.

所以我想分割数据,以便集群的每个节点大致在同一时间完成.例如,如果我的功能如下,单机方法将按以下方式工作:

vec <- xts(rnorm(1000),Sys.Date()-(1:1000)
lapply(1:length(vec), function(x){
    Sys.sleep(30)
    sd(as.numeric(vec[1:x]))
}
Run Code Online (Sandbox Code Playgroud)

(注意,sys.sleep被添加到那里以表示处理我的自定义函数所需的额外时间)

但是,我想说我想把它分成两台机器,而不是1,我将如何分割矢量,1:length(vec)这样我就可以给每台机器一个c(1:y)机器1和c((y+1):length(vec))机器2 的列表 ,这样两台机器就能按时完成.即:会为y这样的,这两个进程将完成在大致相同的时间......如果我们这样做了10台机器......一个如何将着手在原向量找到中断工作的价值c(1:length(vec))为上班...

即我会

y <- 750 # This is just a guess as to potentially where it might be.
vec <- xts(rnorm(1000),Sys.Date()-(1:1000)
# on machine 1 I would have
lapply(1:y, function(x){
    Sys.sleep(30)
    sd(as.numeric(vec[1:x]))
}

# and on machine 2 I would have

lapply(y+1:length(vec), function(x){
    Sys.sleep(30)
    sd(as.numeric(vec[1:x]))
}
Run Code Online (Sandbox Code Playgroud)

parallel-processing load-balancing r

2
推荐指数
1
解决办法
1487
查看次数

R grepl找到一个纯数字

可能是一个非常基本的问题,但它让我觉得我不能轻易找到解决方案......所以我认为我应该明白那些明智的智慧......

我希望能够返回一个TRUE或FALSE,如果一个字符串是一个纯数字而不是只包含数字...我最接近的是

grepl("[0-9]","99393")
grepl("[0-9]","blah")
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为当它应该为FALSE时,以下内容返回为TRUE

grepl("[0-9]","993T3")
Run Code Online (Sandbox Code Playgroud)

一如既往的任何帮助将不胜感激!

编辑

正如joran指出的那样,重要的是要注意字符串只包含整数和字母,即不包括小数点或逗号数字......

regex r

2
推荐指数
2
解决办法
5274
查看次数

多个ggplots整体标题

您好我正在使用Cookbook for R上的解决方案一次性绘制多个ggplots ...即此链接页面底部的代码http://wiki.stdout.org/rcookbook/Graphs/Multiple% 20graphs%20on%20one%20page%20(GGPLOT2)/

我想为这个情节添加一个整体标题,但我不知道该怎么做.即我希望能够有一个修改过的函数,如下所示具有标题的附加参数

multiplot(..., plotlist=NULL, file, cols=1, layout=NULL, title="")
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激

r ggplot2

1
推荐指数
1
解决办法
1454
查看次数

矢量化for循环

是否可以矢量化以下函数,(f)?

我有一个向量x,我希望f通过更改来最大化函数的输出值p.

但是这个功能很慢,因为它无论如何都没有矢量化,并且想知道是否有一个好方法.我们的想法是在未来将其并行化,并且还可能用于data.table加速它

我的真实数据要大得多......所以我提供了一个模拟示例....

# My mock data 
x <- data.frame(x=rep(c(rep(c(0.2,-0.2),4),0.2,0.2,-0.2,0.2),20))

# The function to optimise for
f <- function(p,x){
    # Generate columns before filling
    x$multiplier <- NA
    x$cumulative <- NA

    for(i in 1:nrow(x)){
        # Going through each row systematically
        if(i==1){
            # If first row do a slightly different set of commands
            x[i,'multiplier'] <- 1 * p
            x[i,'cumulative'] <- (x[i,'multiplier'] * x[i,'x']) + 1
        } else {
            # For the …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r vectorization data.table

1
推荐指数
1
解决办法
157
查看次数

从R控制台Windows相当于wget

嗨,我想知道wget的Windows等效是什么

我目前在R中具有以下命令的函数

system("wget www.random.url.com/file")
Run Code Online (Sandbox Code Playgroud)

从运行R的mac / unix机器上从Internet下载文件... Windows中的R等效于什么?

windows r wget

1
推荐指数
1
解决办法
1188
查看次数

正则表达式字符串,以获取一个数字旁边的字母

在R中,我想使用grep或者'grepl'或'gsub'命令来查找字符串向量中的所有元素,其中包含A道路或M道路或B道路名称.

请参阅下面的示例

tmp <- c('Little Street','A323', 'Essex Road (A43)', 'M43','Orange street','M4','B2045','New Street')
Run Code Online (Sandbox Code Playgroud)

我想要一个函数返回...

c('Minor Road','A Road', 'A Road', 'M Road', 'Minor Road', 'M Road','B Road','Minor Road')
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是使用类似的东西

grepl('[0-9]',tmp)
Run Code Online (Sandbox Code Playgroud)

但这无法区分A路,B路和M路......

一如往常任何帮助将不胜感激...

regex r

1
推荐指数
1
解决办法
110
查看次数

两行R dygraph标题

在R中,我如何获得书本标题来跨越两行。

下面是我尝试过的方法,但似乎没有用...任何帮助将不胜感激...

library(dygraphs)
library(xts)
dygraph(xts(rnorm(100),Sys.time()+seq(100)),main='random\ngraph')
Run Code Online (Sandbox Code Playgroud)

r dygraphs

1
推荐指数
1
解决办法
335
查看次数

有没有办法在读取csv时省略第一列

可能重复:
仅读取R中有限数量的列

我有一个非常大的csv文件,所以我只想读取R中相关的数据.csv文件宽4列,向下数百万行.但是第一列是不必要的(因为它是每行的重复字符串).

有没有办法在读取csv文件时只获得第2到第4列...(它很容易删除原来的第一列帖子读取...但是想知道是否有更有效的方法这个).

r

-2
推荐指数
1
解决办法
3万
查看次数