小编Zhi*_*Jia的帖子

R中doMC和doParallel之间的区别

关于函数R doParalleldoMCR 之间的区别是什么foreachdoParallel支持windows,unix-like,同时doMC仅支持unix-like.换句话说,为什么doParallel不能doMC直接替换?谢谢.

更新: doParallel是建立在parallel,这基本上是对等合并multicore,并snow和自动使用系统的相应工具.因此,我们可以doParallel用来支持多系统.换句话说,我们可以doParallel用来代替doMC.

参考:http://michaeljkoontz.weebly.com/uploads/1/9/9/4/19940979/parallel.pdf

顺便说一下,registerDoParallel(ncores=3)和之间有什么区别

cl <- makeCluster(3)
registerDoParallel(cl)
Run Code Online (Sandbox Code Playgroud)

它似乎registerDoParallel(ncores=3)可以自动停止集群,而第二个不会自动停止和需要stopCluster(cl).

参考:http://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf

parallel-processing r domc doparallel

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

如何在R中使用dplyr :: inner_join多个tbls或data.frames

在R,哪能inner_jointblsdata.frame小号有效?

例如:

devtools::install_github("rstudio/EDAWR")
library(EDAWR)
library(dplyr)
data(songs)
data(artists)
test <- songs
colnames(test) <- c("song2", "name")
inner_join(songs, artists,by="name") %>% inner_join(test,by="name")
Run Code Online (Sandbox Code Playgroud)

有数百个testdata.frames,我想加入.

r inner-join dplyr

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

如果仅在包的描述中导入foreach,如何使用%dopar%

如果在包的描述中仅导入(不依赖)foreach,如何在包的功能中避免"找不到函数"%dopar%""?有没有像foreach ::%dopar%的方式,因为我在函数中使用foreach :: foreach?谢谢.

代码如:

在功能上

foreach::foreach(1:9) %dopar% {

...}
Run Code Online (Sandbox Code Playgroud)

在描述中

Imports: 
    Matrix,
    parallel,
    foreach,
   doParallel
Run Code Online (Sandbox Code Playgroud)

foreach r package domc doparallel

7
推荐指数
3
解决办法
2013
查看次数

为强制定向网络中的每个链接指定颜色,networkD3 :: forceNetwork()

问题是根据networkD3::forceNetworkR中使用的链接的值或权重指定两种不同的颜色.例如,Blue对于链接的权重大于1,dark链接的权重小于1.

这里复制的示例代码(forceNetwork部分):

library(networkD3)
# Load data
data(MisLinks)
data(MisNodes)

# Plot
forceNetwork(Links = MisLinks, Nodes = MisNodes,
        Source = "source", Target = "target",
        Value = "value", NodeID = "name",
        Group = "group", opacity = 0.8)
Run Code Online (Sandbox Code Playgroud)

一D3-JS相关的问题是在这里(我什么都不知道JS到目前为止).

javascript r shiny networkd3

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

打印所有内容除了使用awk匹配范围模式

在Awk中,范围模式不是表达式,因此canot使用"!" 不是吗 那么如何实现它(使用awk打印所有内容除了匹配范围模式)?

例如

$ cat 1.t

abd
hfdh
#  
fafa
deafa
123 
#
end
Run Code Online (Sandbox Code Playgroud)

我想要的结果:

猫1.t

abd
hfdh
end
Run Code Online (Sandbox Code Playgroud)

编辑:

我举了一个不好的例子.endpattern应该与startpattern不同,因为我还没有测试过.这是我的错.

同时,我想以不同方式操作范围模式和非范围模式.所以sed不是我的选择.

awk design-patterns range

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

R中两个不同对象签名的setMethod

下面两行代码中的函数部分相同,如何使用一个 setMethod 进行设置?像签名(“三角形|正方形”)。谢谢你。

setMethod("sides", signature("Triangle"), function(object) 3)
setMethod("sides", signature("Square"), function(object) 3)
Run Code Online (Sandbox Code Playgroud)

r s4

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

将具有各种长度向量的列表转换为R中的data.frame的最简单方法

这里我有一个不同长度向量的列表.我想要一个data.frame.我在SO中看过很多关于它的帖子(参见参考资料),但是没有一个像我预期的那样简单,因为这实际上是数据预处理中的常见任务.谢谢.

这里最简单的意思as.data.frame(aa)是它是否有效.所以R的基础包中的一个函数会很棒.sapply(aa, "length<-", max(lengths(aa)))实际上有四个功能.

一个例子如下所示.

输入:

aa <- list(A=c(1, 3, 4), B=c(3,5,7,7,8))
Run Code Online (Sandbox Code Playgroud)

输出:

A B
1 3
3 5
4 7
NA 7
NA 8
Run Code Online (Sandbox Code Playgroud)

A和B是data.frame的colnames.

答案是sapply(aa, '[', seq(max(sapply(aa, length)))),但它也很复杂.

参考:

  1. 如何将包含不同长度矢量的列表转换为R中的可用数据帧?

  2. 组合不同长度的(cbind)向量

r list dataframe data-science

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

在 R 中以闪亮方式向用户显示警告

如何在R中以闪亮的方式向用户显示警告。用户的输入是正确的,但输出不适合显示。目的是提醒用户由于数据太多而仅显示子集数据。warning()仅显示在控制台中。谢谢。

由于原文很长,这里有一个假代码来解释问题。renderTable 中有一个警告。它的目的是检查数据,如果数据很大,只会显示前几项。

ui.R

shinyUI(fluidPage(

titlePanel("Validation App"),

sidebarLayout(
    sidebarPanel(
        selectInput("data", label = "Data set",
                    choices = c("", "mtcars", "faithful", "iris"))
    ),

    # Show a plot of the generated distribution
    mainPanel(
        tableOutput("table"),
        plotOutput("plot")
    )
)
))
Run Code Online (Sandbox Code Playgroud)

服务器R

shinyServer(function(input, output) {

data <- reactive({ 

    validate(
        need(input$data != "", "Please select a data set")
    )
    get(input$data, 'package:datasets') 

})


output$plot <- renderPlot({
    hist(data()[, 1], col = 'forestgreen', border = 'white')
})

output$table <- renderTable({
    warning("Warning message.")
    head(data())
})

})
Run Code Online (Sandbox Code Playgroud)

r shiny

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