假设是一个愚蠢的玩具例子
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,从任何工作目录开始,我都能做到
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)
这是一个错误吗?
我正在寻找一个良好优化的函数,它接受一个n X n距离矩阵并返回一个n X k矩阵k,其中第i行中第i个数据点的最近邻居的索引.
我找到了许多不同的R软件包让你做KNN,但它们似乎都包括距离计算以及同一函数中的排序算法.特别是,对于大多数例程,主要参数是原始数据矩阵,而不是距离矩阵.就我而言,我在混合变量类型上使用非标准距离,因此我需要将排序问题与距离计算分开.
这不是一个令人生畏的问题 - 我显然可以order在循环中使用函数来获得我想要的东西(参见下面的解决方案),但这远非最佳.例如,when 小的sort函数(小于11)变得更快,但遗憾的是只返回排序值而不是所需的索引.partial = 1:kk
该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) 这是一个奇怪的递归函数,我写的是为了帮助我理解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) 当使用rmarkdown与knitr在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) 我按照这些说明在我的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) 假设我有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])。我在所选答案的评论中添加一行来解决这个问题。
是否有一种简单的方法可以在rmarkdown不显示链接的情况下链接到网页?
例如,将" https://www.google.com/ "放在一个.rmd文件中呈现为整个网站,但我想要一些类似的东西<a href="https://www.google.com/">ABC</a>.
上面的html方法,即<a href= ...当我编织到html时工作,但是当我编织到word文档时它不起作用.
这是不起作用的:
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 ×5
python-2.7 ×2
r-markdown ×2
.emf ×1
directory ×1
distance ×1
environment ×1
graphlab ×1
julia ×1
knitr ×1
knn ×1
matrix ×1
nlp ×1
nltk ×1
python ×1
r6 ×1
recursion ×1
sorting ×1
ubuntu-14.04 ×1