小编Emp*_*cer的帖子

使用httrack镜像单页

我正在尝试使用httrack(http://www.httrack.com/)来下载单个页面,而不是整个站点.因此,例如,当使用httrack下载www.google.com时,它应该只下载www.google.com下的html以及所有样式表,图片和javascript,而不是关注images.google.com的任何链接, labs.google.com或www.google.com/subdir/等

我尝试了这个-w选项,但没有任何区别.

什么是正确的命令?

编辑

我试过用httrack "http://www.google.com/" -O "./www.google.com" "http://www.google.com/" -v -s0 --depth=1但不会复制任何图像.

我基本上想要的只是下载该域的索引文件以及所有资产,而不是任何外部或内部链接的内容.

command-line http httrack

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

直接在ggplot中设置直方图的箱数

我想geom_histogram为直方图提供垃圾箱的数量,而不是通过控制垃圾箱binwidth.文档说我可以通过设置bins参数来做到这一点.但是当我跑步的时候

ggplot(data = iris, aes(x = Sepal.Length)) + stat_bin(bins = 5)
Run Code Online (Sandbox Code Playgroud)

我得到一个带有30个bin的输出消息,好像我根本没有指定binwidth.

stat_bin:binwidth默认为范围/ 30.使用'binwidth = x'来调整它.

我已经试过这种说法喂养stat_binqplot同样的问题.难道我做错了什么?

我正在使用ggplot2版本1.0.1.

r histogram ggplot2

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

function(){}是真正的quine吗?

在互联网上闲逛后,我找不到任何在R中编写过quine的人(编辑:自写这篇文章以来,已经在SO上找到了几个,但我仍然对这个问题感兴趣).所以我想我会试着亲自拿出一个.我的结果是(令人惊讶的短)代码:

function(){}
Run Code Online (Sandbox Code Playgroud)

function(){}运行时会输出.这利用了这样一个事实:在没有parens或参数之后的函数名称将返回函数的源代码.

然而,一个"看自己"的程序通常不被认为是真正的quine.在试图决定我是否写了一个"真正的"因素的过程中,我意识到有两件事我不明白:(1)什么构成了一个"看着自己"的程序(从一个角度来看)超出使用范围文件i/o和(2)function(){}(或类似命令logical(0))在打印时自我引用的程度.前者似乎对SO来说过于主观,但我希望对后者进行一些澄清.所以...

当我跑步时function(){},究竟发生了什么导致它打印出自己的"源代码"?例如,R是否将空函数加载到本地环境中,评估该函数,然后回顾定义它以进行打印的代码?或者,它只是看着function(){}并立即回应其定义?这和它之间有根本的区别吗?

f<-function(){cat("f<-");print(f);cat("f()")}
f()
Run Code Online (Sandbox Code Playgroud)

在运行时如何打印自己?

r quine

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

sklearn cross_val_score的精度低于手动交叉验证

我工作的一个文本分类的问题,我已经设置了像这样(我已经离开了为简洁的数据处理步骤,但他们会产生一种叫做数据帧data的柱子Xy):

import sklearn.model_selection as ms
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.ensemble import RandomForestClassifier

sim = Pipeline([('vec', TfidfVectorizer((analyzer="word", ngram_range=(1, 2))),
                ("rdf", RandomForestClassifier())])
Run Code Online (Sandbox Code Playgroud)

现在我尝试通过对2/3的数据进行训练并在剩余的1/3上对其进行评分来验证此模型,如下所示:

train, test = ms.train_test_split(data, test_size = 0.33)
sim.fit(train.X, train.y)
sim.score(test.X, test.y)
# 0.533333333333
Run Code Online (Sandbox Code Playgroud)

我想为三个不同的测试集做三次,但使用cross_val_score给我的结果要低得多.

ms.cross_val_score(sim, data.X, data.y)
# [ 0.29264069  0.36729223  0.22977941]
Run Code Online (Sandbox Code Playgroud)

据我所知,该阵列中的每个分数都应该通过对2/3数据的训练产生,并使用该sim.score方法对剩余的1/3进行评分.那他们为什么都这么低?

python python-3.x scikit-learn cross-validation

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

`[< - `函数如何在R中起作用?

例如,我见过几个人使用[<-波兰表示法作为函数

x <- matrix(1:4, nrow = 2)
`[<-`(x, 1, 2, 7)
Run Code Online (Sandbox Code Playgroud)

返回

     [,1] [,2]
[1,]    1    7
[2,]    2    4
Run Code Online (Sandbox Code Playgroud)

我试过玩[<-一点,看起来像这样使用它打印出的结果就像x[1,2] <- 7没有实际执行任务.但是我无法确定这个功能实际上是做什么的,因为给出的文档?"["仅提及它的传递,我不能搜索谷歌或SO"[< - ".

是的,我知道实际使用它可能是一个可怕的想法,我只是为了更好地理解R而感到好奇.

r slice assignment-operator

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

来自另一个Rmd中的Rmd文件的源代码

我试图让我的代码更加模块化:数据加载和一个脚本,在另一个分析等清洁如果我是,使用R脚本,这将是调用一个简单的问题sourcedata_setup.R里面analysis.R,但我想记录我在Rmarkdown文档中做出的数据设置和分析决策.所以我尝试写一些排序的source_rmd功能,让我从源代码data_setup.Rmdanalysis.Rmd.

到目前为止我尝试过的:

如何获取R markdown文件的答案,如`source('myfile.r')`?如果有任何重复的块名称(由于命名的块setup在Rstudio的笔记本处理中具有特殊行为,因此无法解决).如何将两个RMarkdown(.Rmd)文件合并为一个输出?想要整合整个文档,而不仅仅是一个代码,还需要唯一的块名称.我已经尝试使用knit_expand建议在生成动态[R降价块,但我的名字在双大括号的变量块,而且我真的很喜欢的方式,使这个方便我colaborators使用为好.并knit_child按照如何嵌套编织调用中的建议使用以修复重复的块标签错误?仍然给我重复的标签错误.

r knitr r-markdown

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

R 向量化函数的 Pythonic 替代方案

我正在使用 Python 工作,但来自 R 背景 - 如果我想获取一个字符串数组x = ['1', '2', '3']并获取相应的整数数组[1, 2, 3],那么自然的做法是运行类似int(x). 当然,这种语法不起作用,因为我使用的是 Python,并且函数不会自动矢量化。似乎我可以使用 NumPy 创建函数的向量化版本,但这感觉就像用非常重的 R 口音说 Python。

循环遍历向量的内容

x2 = []
for y in x:
    x2.append(int(y))
Run Code Online (Sandbox Code Playgroud)

但看起来一点也不优雅——它是一个三行结构,我可以在 R 中用六个字符完成一些事情。当然有一种更紧凑的 Pythonic 方法可以做到这一点?或者这是否与 Python 和 R 各自的优缺点相抵触?

python loops vectorization

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

在调用 slurm sbatch 之前为日志文件创建目录

Slurmsbatch将 stdout 和 stderr 指向由-o-e标志指定的文件,但如果文件路径包含不存在的目录,则无法执行此操作。有没有办法自动为我的日志文件创建目录?

  • 每次手动创建这些目录效率低下,因为我要运行每个 sbatch 提交数十次。
  • 让工作名称的变化存在于文件名而不是目录中会导致大量的、组织不善的日志混乱,当我需要检查我的工作是如何做的时,我必须对其进行排序。

我发现这样做的唯一方法是将我的调用包装到sbatchbash 脚本中,这些脚本比这样一件小事所需的时间长很多倍。我在下面包含了一个缩短的示例。

#!/bin/bash
# Set up and run job array for my_script.py, which takes as positional
# arguments a config file (passed via $1) and an array index.

#SBATCH --array=1-100
#SBATCH -n 1
#SBATCH -t 12:00:00
#SBATCH -p short
#SBATCH -J sim_sumstats
#SBATCH --mem=1600

# Initialize variables used for script control flow
sub_or_main='sub'

# Parse options
while getopts ":A" opt; do
    case $opt …
Run Code Online (Sandbox Code Playgroud)

bash slurm

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

Python 2.7不支持Readline

我的python交互式会话中没有任何readline功能。箭头键只是在屏幕上移动光标或打印^[[A等。一些网络搜索使我尝试手动导入readline程序包,但这导致以下错误:

>>>导入readline
Traceback(最近一次调用):
文件“ <stdin>”,在<module>
ImportError中的第1行:/opt/readline-6.3/lib/libreadline.so.6:未定义的符号:PC

我认为这是特定于版本的问题,因为在默认情况下,我正在使用的机器上的2.6环境中不会发生这种情况(我在virtualenv中的2.7.10中工作-这是最新的python 2.7据我所知,我可以在计算机上加载的版本)。顺便说一下,它正在运行linux-CentOS 6.8。

似乎其他人以某种形式存在此问题,但我无法确定他们的解决方案是否过时(我是否需要该版本起就不再使用的readline包?),即使不是,我也不是。确定如何安装该软件包的固定版本(我还不是非常精通python,并且除了basic pip install或之外,我没有什么其他的conda install)。

如何解决此错误?如果要求不高,那么不要求我从pip切换到conda的解决方案将是理想的,因为我要挤进一台我没有完全控制权的机器,并且愿意做很多事情使用我已经拥有或可以轻松安装的工具可以实现。

python readline python-2.7

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

附加 rstan 包时出错:未找到入口点

我已经成功安装了 rstan,但是当我尝试使用它附加它时,library(rstan)我得到一个弹出窗口,标题为“RGui(64 位):Rgui.exe - 未找到入口点”和消息内容

无法在动态链接库 C:\Users\MyName\Documents\R\win-library\4.0\Rcpp\libs\x64\Rcpp.dll 中找到过程入口点 EXTPTR_PTR。

在 R 控制台本身我得到

> library(rstan)
Loading required package: StanHeaders
Loading required package: ggplot2
Error: package or namespace load failed for ‘rstan’ in inDL(x, as.logical(local), as.logical(now), ...):
 unable to load shared object 'C:/Users/Daniel/Documents/R/win-library/4.0/Rcpp/libs/x64/Rcpp.dll':
  LoadLibrary failure:  The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)

我在装有 Windows 10 的 64 位 Windows 机器上运行 4.0.0 (2020-04-24) 'Arbor Day'。

我认为这可能是 Rtools 的问题(在软件包安装过程中未找到 Rtools 4.0),但是重新安装了 rtools40 并将其正确添加到我的路径中 - 然后重新安装我的所有软件包以确保没有依赖性问题 - 问题rstan 仍然存在。知道这里可能出了什么问题,以及如何让 …

r failed-installation rcpp rstan

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

如何根据位置指示符在R中交织向量

有没有办法在R中执行矢量的受控交错?也就是说,假设我有多种载体v1,v2,v3含有值和位置的矢量,是这样的:

v1 <- c("a", "b", "c", "d")
v2 <- c("1", "2", "3", "4", "5")
v3 <- c("x", "y", "z")
pos <- c(1, 1, 2, 3, 2, 2, 3, 2, 1, 3, 2, 1)
Run Code Online (Sandbox Code Playgroud)

它始终是的数量的情况下1S IN pos等于在元件的数目v1等,即all.equal(c(length(v1), length(v2), length(v3)), as.vector(table(pos)))TRUE.

我想是某种方式来交织根据所述值的矢量pos,即,创建矢量i <- c(v1[1], v1[2], v2[1], v3[1], v2[2], v2[3], v3[2], v2[4], v1[3], v3[3], v2[5], v1[4]),其中对应于第n个外观条目1pos是第n个元件v1,并且同样地用于v2, …

r

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

2个参数对N个参数函数的组合作用

如果我有一个类似的函数union,它采用两个集合的联合,是否有一种简洁的方法来编写一个函数,它接受任意数量的集合,即union_n(x, y, z, w) = union(x, union(y, union(z, w)))

functional-programming r function

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