小编Kun*_*Ren的帖子

通过::调用包中的函数是一个好习惯吗?

我正在写使用一些有用的功能像其他一些包R里面的函数stringrbase64enc.是不是首先要调用library(...)或者require(...加载这些包,而是::用来直接引用我需要的函数,比如stringr::str_match(...)

在一般情况下这是一个好习惯吗?或者它会引起什么问题?

scope namespaces r scoping qualified-name

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

如何重命名R中的变量而不复制对象?

我在R命名的全局环境中加载了一个巨大的数据框df.如何重命名数据框而不复制数据框,方法是将其分配给另一个符号并删除原始符号?

r

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

有效地删除列表和所有子列表中的所有NULL值

请考虑以下列表:

> l1 <- list(NULL,1,2,list(NULL,3,list(NULL,4)))
> str(l1)
List of 4
 $ : NULL
 $ : num 1
 $ : num 2
 $ :List of 3
  ..$ : NULL
  ..$ : num 3
  ..$ :List of 2
  .. ..$ : NULL
  .. ..$ : num 4
Run Code Online (Sandbox Code Playgroud)

要从NULL第一级删除值,只需调用即可

l1[vapply(l1,is.null,logical(1L))] <- NULL
Run Code Online (Sandbox Code Playgroud)

现在我想删除所有NULL级别的所有值,我想出了以下代码.

list.clean <- function(.data, fun = is.null, recursive = FALSE) {
  if(recursive) {
    .data <- lapply(.data, function(.item) {
      if(is.list(.item)) list.clean(.item, fun, TRUE)
      else .item
    })
  }
  .data[vapply(.data,fun,logical(1L))] …
Run Code Online (Sandbox Code Playgroud)

null r list

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

ReplaceOne抛出重复的键异常

我的应用程序从远程服务器接收数据并调用ReplaceOne插入新文件或用给定密钥替换现有文档Upsert = true.(密钥是匿名的*)代码只在一个线程中运行.

但是,偶尔,应用程序崩溃时出现以下错误:

Unhandled Exception: MongoDB.Driver.MongoWriteException: A write operation resulted in an error.                             
  E11000 duplicate key error collection: ****.orders index: _id_ dup key: { : "****-********-********-************" } ---> MongoDB.Driver.MongoBulkWriteException`1[MongoDB.Bson.BsonDocument]: A bulk write operation resulted in one or more errors.                                                                                                              
  E11000 duplicate key error collection: ****.orders index: _id_ dup key: { : "****-********-********-************" }                                                                                                                  
   at MongoDB.Driver.MongoCollectionImpl`1.BulkWrite(IEnumerable`1 requests, BulkWriteOptions options, CancellationToken cancellationToken)                                                                                                               
   at MongoDB.Driver.MongoCollectionBase`1.ReplaceOne(FilterDefinition`1 filter, TDocument replacement, UpdateOptions options, CancellationToken cancellationToken)                                                                                       
   --- End of inner …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-.net-driver

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

如何在R中部分更新或合并列表?

这是一个R列表:

list1 <- list(var1=1,var2=list(var21=1,var22=2,var23=list(var231=1,var232=0)))
Run Code Online (Sandbox Code Playgroud)

这是另一个R列表:

list2 <- list(var1=3,var2=list(var22=0,var23=list(var232=1,var233=2)),var3=list(var31=1))
Run Code Online (Sandbox Code Playgroud)

现在我想更新list1list2,其中应包括更新现有的值,并引进新的价值.其结果是var1,var22,var232应更新为指定的值list2,并且var233,var3,var31应引入新的条目.因此,更新的列表应该是:

list(var1=3,var2=list(var21=1,var22=0,var23=list(var231=1,var232=2,var233=2)),var3=list(var31=1))
Run Code Online (Sandbox Code Playgroud)

它与默认设置和用户特定设置非常相似.应通过用户特定设置加载和更新默认设置.在我的使用中,我只是从JSON文件(default.json)创建一个R列表作为默认设置,并希望通过另一个JSON文件(user.json)生成的另一个列表更新默认设置,就像许多程序一样.

是否有现成的包或一些简单/体面的方式来做到这一点?

r

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

是否可以在没有%%的情况下定义运算符?

在R中允许用户定义的运算符,但似乎只% %接受类似运算符.是否有可能绕过这个限制来定义运算符,例如>>,或者不喜欢的东西% %

操作员必须是真正的操作员,以便我们可以像1 >> 2使用它一样使用它">>"(1,2).

r operator-keyword

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

如何在Rcpp代码中返回R的NULL?

假设我有一个用Rcpp编译的C++代码,将在R中调用.

// [[Rcpp::export]]
SEXP to_env(List x) {
  if(x.hasAttribute("names"))
  {
    return x;
  }
  else
  {
    return NULL;
  }
}
Run Code Online (Sandbox Code Playgroud)

NULL返回R NULL而不是崩溃应该是什么值?

null r rcpp

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

如何在闪亮的仪表板中使用R包"formattable"?

以下是我编写的代码.我无法使用formattable我的光泽.formattable有助于格式化表格并改善可视化效果.

library("shinydashboard")
library("shiny")
library("formattable")

body <- dashboardBody(
  fluidRow(
    column(width = 12,
           box(tableOutput(formattable(test.table, list())))
           )
    )
  )

ui <- dashboardPage(
  dashboardHeader(title = "Column layout"),
  dashboardSidebar(),
  body
)

server <- function(input, output) {

  test.table <- data.frame(lapply(1:8, function(x) {1:10}))

    output$table <- renderTable({test.table})
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

r shiny formattable

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

如何在bitbucket wiki中启用mathjax?

我在Bitbucket.org上放了一个私有存储库,这个项目需要一些涉及大量数学内容的文档.我想使用Bitbucket Wiki并在Markdown中编辑它但是我应该如何启用MathJax以允许我在markdown文件中输入数学方程式?

到位桶的官方文档(https://confluence.atlassian.com/display/BITBUCKET/Use+a+wiki)似乎并没有提到它.我搜索了Google,但发现了一些有用的结果.任何的想法?

markdown wiki bitbucket mathjax

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

是否有可能获得主动绑定背后的功能?

在R中,我们可以makeActiveBinding通过提供一个函数来创建一个活动绑定:

e <- new.env()
makeActiveBinding("var", 
  function(x) if (missing(x)) cat("get\n") else cat("set\n"), e)
Run Code Online (Sandbox Code Playgroud)

一旦创建了活动绑定,似乎无法获得它背后的功能.

我想知道是否有可能获得活动绑定背后的功能,如下所示?

> getActiveBindingFunction("var", e)
function(x) if (missing(x)) cat("get\n") else cat("set\n"), e)
Run Code Online (Sandbox Code Playgroud)

r

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