我在OS X 10.11.6上.我今天更新并升级了brew.在那之后,pip没有奏效.在升级过程中看起来好像没有安装.当我完成升级后,我看到了警告:
Warning: The post-install step did not complete successfully You can try again using brew postinstall python
Run Code Online (Sandbox Code Playgroud)
所以我跑了brew postinstall python,然后我遇到了错误:
error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'
Run Code Online (Sandbox Code Playgroud)
在这篇文章中他们说:
由于
error: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied.手动删除该文件然后再次运行brew postinstall python,安装后步骤未成功完成.
所以我认为修复将是相同的,我手动删除/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'所以
$ ls /usr/local/lib/python2.7/site-packages/pkg_resources/
_vendor extern
Run Code Online (Sandbox Code Playgroud)
我又跑brew postinstall python了,但现在我得到了:
...
copying build/lib/easy_install.py -> /usr/local/lib/python2.7/site-packages
copying build/lib/pkg_resources/__init__.py -> /usr/local/lib/python2.7/site-packages/pkg_resources
error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'`
Run Code Online (Sandbox Code Playgroud)
我通过安装pip找到了"修复" easy_install:
sudo easy_install pip …Run Code Online (Sandbox Code Playgroud) 我有以下数据集
> head(DT)
V1 V2 V3 V4 V5 V6 V7
1: 2 1 2 0.91 0.02 880.00 1
2: 3 2 1 0.02 0.00 2.24 2
3: 1 1 1 0.15 0.01 3.41 3
4: 1 2 1 3.92 0.05 268.67 2
5: 1 1 2 0.10 0.01 1.59 3
6: 0 1 1 1.20 0.04 1.43 3
> sapply(DT, class)
V1 V2 V3 V4 V5 V6 V7
"integer" "integer" "integer" "numeric" "numeric" "numeric" "factor"
Run Code Online (Sandbox Code Playgroud)
它扩展了数千行.我试图计算由因子变量V7定义的8组中的V1-V6的中值
> levels(DT$V7)
[1] "1" …Run Code Online (Sandbox Code Playgroud) 我有一系列的表达方式,例如:
"<i>the text I need to extract</i></b></a></div>"
Run Code Online (Sandbox Code Playgroud)
我需要在<i>和</i>"符号" 之间提取文本.这样,结果应该是:
"the text I need to extract"
Run Code Online (Sandbox Code Playgroud)
目前我在R中使用gsub来手动删除所有非文本的符号.但是,我想使用正则表达式来完成这项工作.有谁知道正则表达式提取之间<i>和</i>?
谢谢.
这个问题与其他一些问题有关,比如RccpArmadillo或element-wise-multiplication.
但是,我的设置是这样的,我不知道我有什么编辑/ simlink使Rccp运行而不给我警告.
我使用最新的R版本在Mac 10.9(小牛队)上.
在一开始,尝试从RCCpvsR得到的以下代码,我收到一个错误:
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)`
Run Code Online (Sandbox Code Playgroud)
然后,基于RccpArmadillo,我做了以下事情:
# Update FLIBS in ~/.R/Makevars
FLIBS=-L/usr/local/Cellar/gfortran/4.8.2/gfortran
#Re-Install from source
install.packages(c("Rcpp","RcppArmadillo","inline"),type="source")
#Restart R
Run Code Online (Sandbox Code Playgroud)
这是因为我没有/usr/local/Cellar/gfortran/目录所以只是尝试了.事实上,我的所有libgfortran*文件都在这里(在macports目录下):
>ls /opt/local/lib/gcc48/libgfortran.*
/opt/local/lib/gcc48/libgfortran.3.dylib /opt/local/lib/gcc48/libgfortran.dylib
/opt/local/lib/gcc48/libgfortran.a /opt/local/lib/gcc48/libgfortran.spec
Run Code Online (Sandbox Code Playgroud)
在这里/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.3/libgfortranbegin.a,我没有任何gfortran文件.
然后我再次尝试了代码RccpvsR,令人惊讶的是,它工作了!除了我得到警告的事实:
ld: warning: directory not found for option '-L/usr/local/Cellar/gfortran/4.8.2/gfortran'
Run Code Online (Sandbox Code Playgroud)
因为它当然不存在,但是该代码创建的函数cosineRcpp运行没有问题.
因此,所有这些,要问是否有人知道我是否必须将libgfortran文件链接 …
我有成千上万的长整数列表(8640).例如:
type(l1)
tuple
len(l1)
2
l1[0][:10]
[0, 31, 23, 0, 0, 0, 0, 0, 0, 0]
l1[1][:10]
[0, 0, 11, 16, 24, 0, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
我正在"挑选"元组,似乎当元组是列表时,pickle文件比numpy数组更轻.我不是python的新手,但绝不是我是专家,我真的不知道如何为不同类型的对象管理内存.我希望numpy数组更轻,但这是我在挑选不同类型的对象时获得的:
#elements in the tuple as a numpy array
l2 = [np.asarray(l1[i]) for i in range(len(l1))]
l2
[array([ 0, 31, 23, ..., 2, 0, 0]), array([ 0, 0, 11, ..., 1, 0, 0])]
#integers in the array are small enough to be saved in two bytes
l3 = [np.asarray(l1[i], dtype='u2') for i in …Run Code Online (Sandbox Code Playgroud) 这个问题涉及密切联系,也许也与这个密切的Rserve有关.但是,在后一种情况下,有连接打开,在第一种情况下,答案没有指定如何"杀死"服务器.
重要的是要说我是Rserve的新手,我今天第一次使用它来进行一些温和的R-python交互.我从命令行启动了Rserve:
% R CMD RServe
Run Code Online (Sandbox Code Playgroud)
我虽然在会话结束后关闭了连接,但是当我现在尝试使用新配置重新启动Rserve时,我收到错误:
% ##> SOCK_ERROR: bind error #48(address already in use)
Run Code Online (Sandbox Code Playgroud)
这很清楚.而且ps ax | grep Rserve回报:
% ps ax | grep Rserve
18177 ?? Ss 0:00.33 /Library/Frameworks/R.framework/Resources/bin/Rserve
18634 s006 U+ 0:00.00 grep Rserve
Run Code Online (Sandbox Code Playgroud)
我明白这确实意味着服务器正在运行.我尝试了一些事情:
% R CMD RSclose
/Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: RSclose: not found
% R CMD RSshutdown
/Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: RSshutdown: not found
Run Code Online (Sandbox Code Playgroud)
最后
% R CMD shutdown
shutdown: NOT super-user
Run Code Online (Sandbox Code Playgroud)
我想知道,我应该运行:
% sudo R CMD …Run Code Online (Sandbox Code Playgroud) 我使用Emacs 24.4在Mac 10.9.5上
按照这里的说明:https://github.com/sellout/emacs-color-theme-solarized,我下载了emacs-color-theme-solarized目录并将其添加到我的Emacs custom-theme-load-path中.该目录(Emacs已安装Macports)如下所示:
ls /opt/local/share/emacs/24.4/etc/themes/
adwaita-theme.el light-blue-theme.el tsdh-dark-theme.el
deeper-blue-theme.el manoj-dark-theme.el tsdh-light-theme.el
dichromacy-theme.el misterioso-theme.el wheatgrass-theme.el
emacs-color-theme-solarized tango-dark-theme.el whiteboard-theme.el
leuven-theme.el tango-theme.el wombat-theme.el
Run Code Online (Sandbox Code Playgroud)
emacs-color-theme-solarized目录在哪里.然后我添加(load-theme 'solarized-dark t)到我的.emacs文件中,当我重新启动时,emacs我收到错误:Unable to find theme file for 'solarized-dark.
我试图将emacs-color-theme-solarized目录中的所有文件直接移动到/opt/local/share/emacs/24.4/etc/themes/目录中,以便:
ls /opt/local/share/emacs/24.4/etc/themes/
LICENSE leuven-theme.el tango-dark-theme.el
README.md light-blue-theme.el tango-theme.el
adwaita-theme.el makepkg.sh tsdh-dark-theme.el
color-theme-solarized-pkg.el manoj-dark-theme.el tsdh-light-theme.el
color-theme-solarized.el misterioso-theme.el wheatgrass-theme.el
deeper-blue-theme.el solarized-dark-theme.el whiteboard-theme.el
dichromacy-theme.el solarized-definitions.el wombat-theme.el
emacs-color-theme-solarized solarized-light-theme.el …Run Code Online (Sandbox Code Playgroud) 我有一个包含表达式的大文本:"aaaahahahahaha that was a good joke". 处理后,我希望它"aaaaahahahaha"消失,或者至少将其改为简单"ha".
目前,我正在使用这个:
gsub('(.+?)\\1', '', str)
Run Code Online (Sandbox Code Playgroud)
当带有模式的字符串位于句子的开头,而不是位于其他任何位置的位置时,此方法有效.所以:
str <- "aaaahahahahaha that was a good joke"
gsub('(.+?)\\1', '', str)
#[1] "ha that was a good joke"`
Run Code Online (Sandbox Code Playgroud)
但
str <- "that was aaaahahahahaha a good joke"
gsub('(.+?)\\1', '', str)
#[1] "that was aaaahahahahaha a good joke"
Run Code Online (Sandbox Code Playgroud)
这个问题可能与此有关:在python中找到重复的模式,但我找不到R中的等价.
我假设是非常简单的,也许我错过了一些微不足道的东西,但由于正则表达不是我的力量,我已经尝试了一些没有用的东西,我想知道是否有人可以帮助我.问题是:如何在R中的字符串中查找和替换重复的模式?
在此先感谢您的时间.
这里的问题与python-mode中的"发送代码到解释器"(Cc |)命令有关(但不完全相同)和互补.
我在Mac 10.9.5,Emacs 24.4,Python 2.7.8和IPython 2.2.0上工作.
我的想法是更改C-c C-remacs命令以在IPython模式下发送一个区域/代码行C-RET,就像使用R一样.这是因为我通常使用R,但从现在开始,我将使用R和Python(特别是IPython,我非常喜欢),并且 - C-RET在R--中已经发送代码命令似乎对我来说更舒服.
在本问题开头引用的链接中,他们建议在.emacs文件中添加以下行以将C-c |命令更改 为C-c C-r:
(eval-after-load "python"
'(progn
(define-key python-mode-map (kbd "C-c C-r") 'python-shell-send-region)))
Run Code Online (Sandbox Code Playgroud)
目前,我的.emacs文件中的python/IPython配置如下所示:
;; Enable Python
(add-to-list 'load-path "/sw/lib/python-mode-1.0")
(load "python-mode")
(setq auto-mode-alist
(cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist
(cons '("python" . python-mode)
interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
;; Ipython. This python-mode takes the Key-map and the menu
(when …Run Code Online (Sandbox Code Playgroud) 我有一个命名向量列表 L 。例如,第一个元素:
> L[[1]]
$event
[1] "EventA"
$time
[1] "1416355303"
$city
[1] "Los Angeles"
$region
[1] "California"
$Locale
[1] "en-GB"
Run Code Online (Sandbox Code Playgroud)
当我unlist列表中的每个元素时,生成的向量如下所示(对于前 3 个元素):
> unlist(L[[1]])
event time city region Locale
"EventA" "1416355303" "Los Angeles" "California" "en-GB"
> unlist(L[[2]])
event time Locale
"EventB" "1416417567" "en-GB"
> unlist(L[[3]])
event properties.time
"EventM" "1416417569"
Run Code Online (Sandbox Code Playgroud)
我的列表中有超过 50 万个元素,每个元素最多有 42 个特征/名称。我必须将它们合并到一个数据帧中,考虑到它们的名称,并且并非所有它们都具有相同数量的功能或名称(在上面的示例中,V2 没有region和的信息city)。目前,我所做的是循环整个列表:
df1 <- merge(stack(unlist(L[[1]])), stack(unlist(L[[2]])),
by = "ind", all = TRUE)
suppressWarnings(for (i in 3:length(L)){
df1 <- merge(df1, …Run Code Online (Sandbox Code Playgroud) 给定data.tableR 中的 a,我想找到与前一行相反版本的行。例如:
>head(DT)
V1 V2
1 nameA nameB
2 nameA nameC
3 nameB nameA
4 nameB nameF
5 nameN nameP
6 nameP nameN
Run Code Online (Sandbox Code Playgroud)
在 的情况下row 1,代码应返回row 3。在 的情况下row 5,代码应返回row 6。最终,我想删除“反向”行。
真实数据集有 50 万行和 2 列。目前我正在使用这段代码,它完成了这项工作:
require(foreach)
require(doMC)
registerDoMC(4)
rm.idx <- c()
rm.idx <- foreach(i=1:nrow(DT), .combine = 'c')%dopar%{
if (!(i %in% rm.idx)) which(DT[i,1] == DT[,2] & DT[i,2] == DT[,1])
}
Run Code Online (Sandbox Code Playgroud)
代码“返回”一个向量 ( rm.idx),其中包含前一行的反向版本的那些行的索引。
但是,对于相对“小”的数据集需要很长时间(超过 30 分钟)。我经常发现 R 有一些调整或一些功能可以更快地完成技巧(或者,我的代码效率不高)。因此,我想知道是否有人知道查找与前一行相反的行的更快方法 …
我在 R 中有一段代码,我想将其插入到我的 python 代码中。为此,我使用 rpy2。R 代码涉及许多正则表达式,似乎 rpy2 没有正确处理它们,或者可能我没有对它们进行充分的编码。
下面是一段代码的示例,其中一段代码有效,而另一段代码则不起作用:
1)它的工作原理:一个非常简单的removeStopWords函数:
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
robjects.r('''
library(data.table)
library(tm)
removeStopWords <- function(x) gsub(" ", " ", removeWords(x, stopwords("english")))
''')
In [4]: r_f = robjects.r['removeStopWords']
In [5]: r_f('I want to dance')[0]
Out[5]: 'I want dance'
Run Code Online (Sandbox Code Playgroud)
2)它不起作用:删除前导和尾随空格的也是一个微不足道的函数:
robjects.r('''
library(data.table)
library(tm)
trim <- function (x) gsub("^\\s+|\\s+$", "", x)
''')
Error: '\s' is an unrecognized escape in character string starting ""^\s"
p = rinterface.parse(string)
Abort
Run Code Online (Sandbox Code Playgroud)
我被 IPython“开除了” …