小编Ric*_*ton的帖子

什么"以下对象被掩盖'package:xxx'"是什么意思?

当我加载一个包时,我收到一条消息,说明:

"The following object is masked from 'package:xxx'
Run Code Online (Sandbox Code Playgroud)

例如,如果我加载testthat然后assertive,我得到如下:

library(testthat)
library(assertive)  
## Attaching package: ‘assertive’
## 
## The following objects are masked from ‘package:testthat’:
## 
##     has_names, is_false, is_less_than, is_null, is_true
Run Code Online (Sandbox Code Playgroud)

这条消息意味着什么,我该如何预防呢?

r r-faq

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

查找近似重复记录的技术

我正在尝试清理一个数据库,这些数据库多年来获得了许多重复记录,名称略有不同.例如,在公司表中,有"Some Company Limited"和"SOME COMPANY LTD!"等名称.

我的计划是将违规表导出为R,将名称转换为小写,替换常见的同义词(如"limited" - >"ltd"),删除非字母字符然后agrep用来查看看起来相似的内容.

我的第一个问题是agrep只接受一个匹配的模式,并且循环每个公司名称以匹配其他公司名称的速度很慢.(有些待清理的表会有数十个,可能有数十万个要检查的名称.)

我已经非常简要地看了一下这个tm包(JSS文章),它看起来非常强大,但它主要用于分析大块文本,而不仅仅是名称.

我有一些相关的问题:

  1. tm包是否适合这类任务?

  2. 有更快的替代方案agrep吗?(所述函数使用Levenshtein编辑距离,传闻速度慢.)

  3. R中还有其他合适的工具,除了agreptm

  4. 我是否应该在R中执行此操作,还是应该直接在数据库中执行此类操作?(这是一个Access数据库,所以如果可能,我宁愿避免触摸它.)

duplicate-data r duplicate-removal fuzzy-comparison

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

错误:我的代码中出现意外的符号/输入/字符串常量/数字常量/ SPECIAL

我收到了其中一个错误.

Error: unexpected symbol in "<my code>"    
Error: unexpected input in "<my code>"
Error: unexpected string constant in "<my code>"  
Error: unexpected numeric constant in "<my code>"   
Error: unexpected SPECIAL in "<my code>"         
Error: unexpected '<some punctuation>' in "<my code>" 
Error: unexpected '<reserved word>' in "<my code>"        
Run Code Online (Sandbox Code Playgroud)

错误意味着什么,我该如何解决?

一些重现错误的简单示例和常见变体:

a a
## Error: unexpected symbol in "a a"
a\
## Error: unexpected input in "a\"
a""
## Error: unexpected string constant in "a"""
""1
## Error: unexpected numeric constant in …
Run Code Online (Sandbox Code Playgroud)

r r-faq

46
推荐指数
2
解决办法
20万
查看次数

我应该如何以及何时使用on.exit?

on.exit 函数退出时调用代码,但是我应该如何以及何时使用它?

r r-faq

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

错误"exec任务需要执行命令"是什么意思?

在Visual Studio中编译项目时,将显示错误消息"exec任务需要执行命令",没有行号.这个错误是什么意思?

(对于询问和回答我自己的问题表示歉意;我刚写完这篇文章时就找到了一个答案.已经把它作为社区维基,以免冒犯.)

.net c# compiler-construction exception

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

使用插入符号完全可重复的并行模型

当我在插入符号中运行2个随机森林时,如果我设置了一个随机种子,我会得到完全相同的结果:

library(caret)
library(doParallel)

set.seed(42)
myControl <- trainControl(method='cv', index=createFolds(iris$Species))

set.seed(42)
model1 <- train(Species~., iris, method='rf', trControl=myControl)

set.seed(42)
model2 <- train(Species~., iris, method='rf', trControl=myControl)

> all.equal(predict(model1, type='prob'), predict(model2, type='prob'))
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

但是,如果我注册并行后端以加速建模,每次运行模型时都会得到不同的结果:

cl <- makeCluster(detectCores())
registerDoParallel(cl)

set.seed(42)
myControl <- trainControl(method='cv', index=createFolds(iris$Species))

set.seed(42)
model1 <- train(Species~., iris, method='rf', trControl=myControl)

set.seed(42)
model2 <- train(Species~., iris, method='rf', trControl=myControl)

stopCluster(cl)

> all.equal(predict(model1, type='prob'), predict(model2, type='prob'))
[1] "Component 2: Mean relative difference: 0.01813729"
[2] "Component 3: Mean relative difference: 0.02271638"
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个问题吗?一个建议是使用doRNG包,但train使用嵌套循环,目前不支持:

library(doRNG)
cl …
Run Code Online (Sandbox Code Playgroud)

r reproducible-research r-caret

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

如何在R中获得帮助?

R包有哪些可用的文档?例如,我尝试了解sp包.

除此之外help(sp),搜索帮助和文档的其他功能是什么?

r r-faq

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

你如何确定函数的命名空间?

给定一个函数,您如何确定它来自哪个命名空间?

例如,如果我mean.default在命令提示符下键入,则输出包括它在基本包中的事实.我希望能够做类似的事情getNamespace(mean.default)并让它返回"基础"(或实际的基础环境).

有一个getNamespace函数,但似乎只接受包名而不是函数名.

print.function使用内部代码来检索命名空间.我得到尽可能浏览do_printfunctionsrc/main/print.c,但后来又放弃了.

namespaces r

36
推荐指数
3
解决办法
2526
查看次数

if/while(condition){:参数的长度为零时出错

我收到了错误

Error in if (condition) { : argument is of length zero
Run Code Online (Sandbox Code Playgroud)

要么

Error in while (condition) { : argument is of length zero
Run Code Online (Sandbox Code Playgroud)

是什么导致此错误消息,这是什么意思?

在进一步检查时,似乎价值是NULL.

condition
## NULL
Run Code Online (Sandbox Code Playgroud)

为了处理这个错误,我该如何测试NULL值?

我希望这会返回TRUE,但我得到一个空的逻辑值:

condition == NULL
## logical(0)
Run Code Online (Sandbox Code Playgroud)

r r-faq

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

"错误:对象'<myvariable>'未找到"是什么意思?

我收到了错误消息:

错误:找不到对象'x'

或者更复杂的版本

均值(x)中的错误:在为函数'mean'选择方法时评估参数'x'时出错:错误:找不到对象'x'

这是什么意思?

r r-faq

32
推荐指数
2
解决办法
18万
查看次数