小编zku*_*rtz的帖子

使用二分搜索在向量中查找最接近的值

假设是一个愚蠢的玩具例子

x=4.5
w=c(1,2,4,6,7)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个简单的R函数找到与xin 最接近的匹配的索引w.所以,如果foo是那个功能,foo(w,x)将返回3.该功能match是正确的想法,但似乎只适用于完全匹配.

这里的解决方案(例如which.min(abs(w - x)),which(abs(w-x)==min(abs(w-x)))等等)都是O(n)代替log(n)(我假设w已经排序).

r

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

设置工作目录:Julia vs. R.

R,从任何工作目录开始,我都能做到

setwd("~/Desktop")
Run Code Online (Sandbox Code Playgroud)

这与我的linux发行版cd在命令行中解释的方式一致.但Julia似乎没有认识到这种~/表示法:

julia> cd("~/Desktop")
ERROR: chdir ~/Desktop: No such file or directory
 in systemerror at error.jl:38
 in cd at file.jl:13
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?

directory r julia

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

从距离矩阵开始查找K个最近邻居

我正在寻找一个良好优化的函数,它接受一个n X n距离矩阵并返回一个n X k矩阵k,其中第i行中第i个数据点的最近邻居的索引.

我找到了许多不同的R软件包让你做KNN,但它们似乎都包括距离计算以及同一函数中的排序算法.特别是,对于大多数例程,主要参数是原始数据矩阵,而不是距离矩阵.就我而言,我在混合变量类型上使用非标准距离,因此我需要将排序问题与距离计算分开.

这不是一个令人生畏的问题 - 我显然可以order在循环中使用函数来获得我想要的东西(参见下面的解决方案),但这远非最佳.例如,when 小的sort函数(小于11)变得更快,但遗憾的是只返回排序值而不是所需的索引.partial = 1:kk

sorting r distance matrix knn

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

是什么创造了`maxent_treebank_pos_tagger/english.pickle`?

nltk包的内置部分的语音恶搞似乎并没有对我的使用情况进行优化(在这里,例如).这里源代码显示它使用了一个被保存的预训练分类器maxent_treebank_pos_tagger.

创造了maxent_treebank_pos_tagger/english.pickle什么?我猜测那里有一个标记语料库用于训练这个标记器,所以我想我正在寻找(a)标记语料库和(b)基于标记训练标记器的确切代码语料库.

除了大量的谷歌搜索,到目前为止,我试图.pickle直接查看对象,找到其中的任何线索,从这开始

from nltk.data import load
x = load("nltk_data/taggers/maxent_treebank_pos_tagger/english.pickle")
dir(x)
Run Code Online (Sandbox Code Playgroud)

nlp nltk part-of-speech python-2.7

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

R中的嵌套函数,sys.parent和环境

这是一个奇怪的递归函数,我写的是为了帮助我理解sys.parent()和环境之间的关系:

dive = function(level = 1, max.depth = 5)
{
  m = match.call()
  print(paste("sys.frame() says", format(sys.frame())))
  print(paste("sys.parent() says", sys.parent()))
  print(paste("sys.frame(sys.parent()) says", format(sys.frame(sys.parent()))))
  m[[2]] = m[[2]]+1
  if(m[[2]] > max.depth) 
    stop("Not actually an error -- we're just tripping out!")
  eval(m)
}
Run Code Online (Sandbox Code Playgroud)

运行该功能给出

dive(level = 1, max.depth = 5)

[1] "sys.frame() says <environment: R_GlobalEnv>"
[1] "sys.parent() says 0"
[1] "sys.frame(sys.parent()) says <environment: R_GlobalEnv>"
[1] "sys.frame() says <environment: R_GlobalEnv>"
[1] "sys.parent() says 1"
[1] "sys.frame(sys.parent()) says <environment: 0x2831dd0>"
[1] "sys.frame() says <environment: R_GlobalEnv>"
[1] …
Run Code Online (Sandbox Code Playgroud)

environment recursion r

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

rmarkdown矢量图形针织字

当使用rmarkdownknitr在Rstudio编织一个Microsoft Word文档,图形通常看起来糟糕,因为通常的矢量图形格式,如PDF不是在Microsoft Word中支持.

幸运的是,devEMFR中的软件包生成了微软矢量格式EMF,我几乎可以将它用于我的rmarkdown应用程序.问题是我的图像显示得太小了.如何控制图像尺寸?

我试过以下标准的东西:

---
title: "Plot size trouble demo"
author: "for stackoverflow"
output: word_document
---

Here I include graphics in a word document using the `emf` printing device.

```{r dev = 'emf', fig.ext = 'emf'}
require(devEMF)
plot(1:10, 1:10)

```

The plot is small, so I try to make it bigger with the `fig.height` and fig.width` options:

```{r dev='emf', fig.ext='emf', fig.height=10, fig.width=10}
require(devEMF)
plot(1:10, 1:10)

```

The plot region …
Run Code Online (Sandbox Code Playgroud)

.emf knitr r-markdown

8
推荐指数
0
解决办法
1687
查看次数

GraphLab创建"ImportError:没有名为graphlab的模块"

我按照这些说明在我的Ubuntu机器上设置了GraphLab.最后,我打开了Python 2.7.6并运行了第一个测试行import graphlab as gl.这给了我

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named graphlab
Run Code Online (Sandbox Code Playgroud)

我该如何开始诊断?

细节:

python -V从一个终端跑了,它还给了我Python 2.7.6.

/usr/bin我找到以下pyth*条目...我想知道某处某处指向错误的版本:

python     python2.7-config  python3.4   python-config
python2    python2-config    python3.4m  pythontex
python2.7  python3           python3m    pythontex3
Run Code Online (Sandbox Code Playgroud)

python-2.7 ubuntu-14.04 graphlab

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

从 itertools.chain 对象获取一个数组

假设我有list_of_numbers = [[1, 2], [3], []]并且想要更简单的对象列表对象x = [1, 2, 3]

按照这个相关解决方案的逻辑,我做

list_of_numbers = [[1, 2], [3], []]
import itertools
chain = itertools.chain(*list_of_numbers)
Run Code Online (Sandbox Code Playgroud)

不幸的是,chain这并不完全是我想要的,因为(例如)chain在控制台上运行会返回<itertools.chain object at 0x7fb535e17790>.

f如果我这样做x = f(chain)然后x在控制台上输入我得到的功能是什么[1, 2, 3]

更新: 实际上我最终需要的结果是array([1, 2, 3])。我在所选答案的评论中添加一行来解决这个问题。

python python-itertools

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

使用Rstudio中的Knit Word链接到带有rmarkdown的url

是否有一种简单的方法可以在rmarkdown不显示链接的情况下链接到网页?

例如,将" https://www.google.com/ "放在一个.rmd文件中呈现为整个网站,但我想要一些类似的东西<a href="https://www.google.com/">ABC</a>.

上面的html方法,即<a href= ...当我编织到html时工作,但是当我编织到word文档时它不起作用.

r-markdown

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

在 R6 类上定义括号 (`[`) 运算符

这是不起作用的:

library(R6)

Foo = R6::R6Class(
    'Foo',
    public = list(
        X = NULL,
        metadata = NULL,
        initialize = function(X, metadata){
            self$X = X
            self$metadata = metadata
        },
        `[` = function(selection){
            subfoo = Foo$new(X = X[selection], 
                             metadata = self$metadata)
            return(subfoo)
        }
    )
)
Run Code Online (Sandbox Code Playgroud)

具体来说,该[方法是垃圾:

> X = matrix(1:8, ncol = 2)
> foo = Foo$new(X, 'blah blah')
> foo[1:2,]
Error in foo[1:2, ] : object of type 'environment' is not subsettable
Run Code Online (Sandbox Code Playgroud)

期望的结果是,这foo[1:2,]将是一个类的对象Foo,只是foo它的矩阵foo$X更小。有没有直接的方法来实现这一点,将 …

r r6

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