我试图在R包中使用OpenCV中的一些代码,使用Rcpp构建包.当我在我的机器上编译c代码时,它工作正常.
例如,我在本地使用以下语法来编译facedetect.cpp代码:
g++ `pkg-config --cflags opencv` facedetect.cpp -o facedetect `pkg-config --libs opencv`
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用以下命令将其包含在我的包中时:
R CMD SHLIB facedetect.cpp -o facedetect
Run Code Online (Sandbox Code Playgroud)
在我的makevars文件中定义了以下内容:
PKG_CPPFLAGS= `$(R_HOME)/bin/Rscript -e 'Rcpp:::CxxFlags()'`
PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"`
PKG_CXXFLAGS= `pkg-config --cflags opencv` `pkg-config --libs opencv`
Run Code Online (Sandbox Code Playgroud)
R执行以下操作:
g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/x86_64 `pkg-config --cflags opencv` `pkg-config --libs opencv` `/Library/Frameworks/R.framework/Resources/bin/Rscript -e 'Rcpp:::CxxFlags()'` -I/usr/local/include -fPIC -g -O2 -c facedetect.cpp -o facedetect.o
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误消息:
i686-apple-darwin10-g++-4.2.1: -lopencv_core: linker input file unused because linking not done
i686-apple-darwin10-g++-4.2.1: -lopencv_imgproc: linker input file unused because linking not done …Run Code Online (Sandbox Code Playgroud) 如何在代码块前面生成没有尖括号">"的Sweave(或pgfSweave)文档?我希望人们能够直接从pdf输出中剪切和粘贴我的代码.这是我的文档片段,带有代码块:
请注意,因为我们的关联矩阵由0和1组成,所以非对角条目表示公共列的总数,这正是我们想要的.我们将使用%*%运算符告诉R执行此操作.让我们首先看一个使用他们所属的人和团体的玩具数据的小例子.我们将使用table()函数将数据强制转换为关联矩阵,然后将关联矩阵乘以其转置以获得人与人之间的公共组的数量.
>\> ToyDat <- data.frame(person = c("Sam", "Sam", "Sam", "Greg", "Tom", "Tom"), group = c("a", "b", "c", "a", "b", "c"), stringsAsFactors = F)
>\> ToyDatM <- as.matrix(table(ToyDat))
>\> ToyDatM
Run Code Online (Sandbox Code Playgroud)
但我希望代码看起来像:
> ToyDat <- data.frame(person = c("Sam", "Sam", "Sam", "Greg", "Tom", "Tom"), group = c("a", "b", "c", "a", "b", "c"), stringsAsFactors = F)
> ToyDatM <- as.matrix(table(ToyDat))
> ToyDatM
Run Code Online (Sandbox Code Playgroud) 将sweave转换为中心数字的一种方法是包括以下内容
\begin{figure}
\begin{center}
[sweave chunk]
\end{center}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
但是,如果要显示代码以生成可视化,则代码将以集中方式显示.有没有人知道一种光滑的方式来让代码显示左对齐,同时仍然确保图形居中?如果您将图形的大小设置为3x3,则会出现问题:
<<myplot, fig=TRUE, width=3, height=3>>=
plot(rnorm(20), rnorm(20))
@
Run Code Online (Sandbox Code Playgroud)
我需要为我正在进行的项目执行此操作超过100次,并且不希望为绘图和代码创建单独的块.
我正在使用本地emacs实例(aquamacs)在远程服务器上运行R进程,我想自动连接到我的服务器的过程.过程如下:
[在emacs中]
M-x shell
Run Code Online (Sandbox Code Playgroud)
[在结果控制台中]
TERM=xterm
ssh -Y -C <my remote server>
screen -rd [and/or] R
Run Code Online (Sandbox Code Playgroud)
[在emacs中]
M-x ess-remote
r
Run Code Online (Sandbox Code Playgroud)
我在这里发现了这种一般方法:http://blog.nguyenvq.com/2010/07/11/using-r-ess-remote-with-screen-in-emacs/.-Y -C选项允许您使用xterm查看绘图.我不知道lisp和我已经google了一下,我似乎无法拼凑如何实际定义一个函数来自动化这个(例如,在.emacs.el中).有没有人实现过这样的事情?
我是一个R用户,我无法弄清楚匹配的匹配()的熊猫.我需要使用这个函数迭代一堆文件,获取一个关键信息,然后将它合并回'url'上的当前数据结构.在R我会做这样的事情:
logActions <- read.csv("data/logactions.csv")
logActions$class <- NA
files = dir("data/textContentClassified/")
for( i in 1:length(files)){
tmp <- read.csv(files[i])
logActions$class[match(logActions$url, tmp$url)] <-
tmp$class[match(tmp$url, logActions$url)]
}
Run Code Online (Sandbox Code Playgroud)
我不认为我可以使用merge()或join(),因为每次都会覆盖logActions $ class.我也不能使用update()或combine_first(),因为它们都没有必要的索引功能.我也试过基于这个SO帖子创建一个match()函数,但是无法弄清楚如何让它与DataFrame对象一起工作.如果我遗漏了一些明显的东西,请道歉.
这里有一些python代码总结了我在pandas中执行类似match()的无效尝试:
from pandas import *
left = DataFrame({'url': ['foo.com', 'foo.com', 'bar.com'], 'action': [0, 1, 0]})
left["class"] = NaN
right1 = DataFrame({'url': ['foo.com'], 'class': [0]})
right2 = DataFrame({'url': ['bar.com'], 'class': [ 1]})
# Doesn't work:
left.join(right1, on='url')
merge(left, right, on='url')
# Also doesn't work the way I need it to:
left = left.combine_first(right1) …Run Code Online (Sandbox Code Playgroud) 我是 scikits-learn 的新手,我想使用cross_validation.cross_val_scorewithmetrics.precision_recall_fscore_support这样我就可以获得所有相关的交叉验证指标,而无需为准确性、准确性、召回率和召回率运行一次交叉验证f1. 但是当我尝试这个时,我得到了一个 ValueError:
from sklearn.datasets import fetch_20newsgroups
from sklearn.svm import LinearSVC
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import metrics
from sklearn import cross_validation
import numpy as np
data_train = fetch_20newsgroups(subset='train', #categories=categories,
shuffle=True, random_state=42)
clf = LinearSVC(loss='l1', penalty='l2')
vectorizer = TfidfVectorizer(
sublinear_tf=False,
max_df=0.5,
min_df=2,
ngram_range = (1,1),
use_idf=False,
stop_words='english')
X_train = vectorizer.fit_transform(data_train.data)
# Cross-validate:
scores = cross_validation.cross_val_score(
clf, X_train, data_train.target, cv=5,
scoring=metrics.precision_recall_fscore_support)
Run Code Online (Sandbox Code Playgroud)
这是错误:
File "<stdin>", line 3, in <module>
File "sklearn/cross_validation.py", line 1148, in cross_val_score …Run Code Online (Sandbox Code Playgroud)