这是Rcpp中Element-Wise Matrix Multiplication问题的后续内容
自升级到Mavericks以来,我一直在使用RcppArmadillo获得许多不同类型的错误.我安装了Xcode 5.0.2和命令行工具.另外,来自Homebrew的gfortran.但我一直遇到下面的错误 -
> cppFunction("arma::mat schur(arma::mat& a, arma::mat& b)
{ return(a % b); }", depends="RcppArmadillo")
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sourceCpp_18474.so] Error 1
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include - I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include" -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RcppArmadillo/include" -fPIC "-mtune=native -g -O2 -Wall -pedantic -Wconversion" -c fileaf992bfb8f84.cpp -o fileaf992bfb8f84.o clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o sourceCpp_18474.so fileaf992bfb8f84.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -lgfortran …Run Code Online (Sandbox Code Playgroud) 我试图通过一些简单的方法来实现这一点.
比如,有一个售卖汽车的桌子,以及汽车模型的名称和汽车的售价
例如.,
CarName Price
AcuraLegend 30000
AcuraTSX 40000
HondaCivic 20000
HondaCivic 22000
HondaCivic 22000
ToyotaCamry 18000
Run Code Online (Sandbox Code Playgroud)
然后再增加2900个条目
我需要的是找到每辆车售出的最高价格以及最大售出的那种类型的汽车数量.因此,如果我们使用上述数据框架,假设在整个数据框架中为HondaCivic支付的最高价格是22000,并且只有2辆车以此价格出售,对于HondaCivic我会有,
CarName MaxPricePaidForCar NumberofCarsSoldforMaxPrice
HondaCivic 22000 2
Run Code Online (Sandbox Code Playgroud)
现在,我已经设法使用tapply和merge等等相当繁琐的方式将它们放在一起.
对更简单方法的任何建议都会非常有帮助,
我注意到在训练中使用配方和非配方方法会产生不同的结果.此外,配方方法所花费的时间几乎是非配方方法所用时间的10倍.这是预期的吗?
> z <- data.table(c1=sample(1:1000,1000, replace=T), c2=as.factor(sample(LETTERS, 1000, replace=T)))
# SYSTEM TIME WITH FORMULA METHOD
# -------------------------------
> system.time(r <- train(c1 ~ ., z, method="rf", importance=T))
user system elapsed
376.233 9.241 18.190
> r
1000 samples
1 predictors
No pre-processing
Resampling: Bootstrap (25 reps)
Summary of sample sizes: 1000, 1000, 1000, 1000, 1000, 1000, ...
Resampling results across tuning parameters:
mtry RMSE Rsquared RMSE SD Rsquared SD
2 295 0.00114 4.94 0.00154
13 300 0.00113 5.15 0.00151
25 300 0.00111 …Run Code Online (Sandbox Code Playgroud) 我正在使用Latex和Sweave创建一些个性化报告.我需要批量生成报告(数据集有大约300,000多行).我在网上遇到过几种方法,但我正在寻找一种简单直接的方法.
数据框有几行,包含汽车名称和相关值,例如:
Date CarName NumSold NumUnsold MostPaid LeastPaid Model ....
09/04 Honda 10 20 50000 10000 Accord ....
09/06 Audi 5 30 100000 30000 A4 ....
09/05 Honda 12 20 50000 10000 Accord ....
09/06 Honda 18 27 53000 60000 Accord ....
09/08 Toyota 12 20 50000 10000 Camry ....
...
Run Code Online (Sandbox Code Playgroud)
假设我们有400种不同类型的汽车 (unique(df$CarName))
我需要为这400种类型的汽车中的每一种创建漂亮的LaTeX报告,其中包含特定数据,例如,按日期划分的LeastPaid,按日期划分的NumSold,按模型等等...使用表格,应用,重塑等等.各个报告还将包含图像
我的问题是如何批量生成报告.我可以为单个CarName创建Sweave Rnw,但是还需要为399个其他Cars创建相同的内容,并使用CarName-Date.tex这样的唯一名称保存它们.
我正在寻找一种更快的方式来实现下面的操作.数据集包含> 1M行,但我提供了一个简化示例来说明任务 -
To create the data table --
dt <- data.table(name=c("john","jill"), a1=c(1,4), a2=c(2,5), a3=c(3,6),
b1=c(10,40), b2=c(20,50), b3=c(30,60))
colGroups <- c("a","b") # Columns starting in "a", and in "b"
Original Dataset
-----------------------------------
name a1 a2 a3 b1 b2 b3
john 1 2 3 10 20 30
jill 4 5 6 40 50 60
Run Code Online (Sandbox Code Playgroud)
上面的数据集被转换为每个唯一名称添加2个新行,并且在每一行中,每个列的列独立地左移(在这个例子中我使用了列和b列,但还有更多)
Transformed Dataset
-----------------------------------
name a1 a2 a3 b1 b2 b3
john 1 2 3 10 20 30 # First Row for John
john 2 3 0 …Run Code Online (Sandbox Code Playgroud)