我观察到fread函数的data.table的速度不一致.我需要2个大小约为8 GB的文件.文件的内容(几乎)相同.读两个文件的时间差别很大.
control.major <- fread("control.major.gff")$V6
Read 19.8% of 98100000 rows
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 02:06:58
control.minor <- fread("control.minor.gff")$V6
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 00:03:15
Run Code Online (Sandbox Code Playgroud)
我必须阅读所有数字文件的第6列.最初我发现fread比较快
scan(pipe("cut -f6 SNP.major.gff"), sep="\n")
Run Code Online (Sandbox Code Playgroud)
因为剪切功能耗费了大量的时间.
为什么fread的行为不一致?是否有更快的方式来读取一列?
我想知道在R中避免行方式处理的最佳方法是什么,大多数行方式都是在内部C例程中完成的.例如:我有一个数据框a:
chromosome_name start_position end_position strand
1 15 35574797 35575181 1
2 15 35590448 35591641 -1
3 15 35688422 35688645 1
4 13 75402690 75404217 1
5 15 35692892 35693969 1
Run Code Online (Sandbox Code Playgroud)
我想要的是:基于链是正还是负,startOFgene如start_position或end_position.避免for循环的一种方法是将data.frame与+1 strand和-1 strand分开并执行选择.什么可以加快速度?如果每行具有某些其他复杂处理,则该方法不会按比例放大.
我在加载编译对象Rcpp编译对象时遇到问题.我从源代码编译RcppSMC包.一世
Error in dyn.load("mylib.so") :
unable to load shared object '/Users/avi/softwares/RcppSMC/src/mylib.so':
dlopen(/Users/avi/softwares/RcppSMC/src/mylib.so, 6): Symbol not found: __ZNSoD0Ev
Referenced from: /Users/avi/softwares/RcppSMC/src/mylib.so
Expected in: flat namespace
in /Users/avi/softwares/RcppSMC/src/mylib.so
Run Code Online (Sandbox Code Playgroud)
我正在使用clang进行以下编译的编译.我认为有一些编译问题,因为如果我从CRAN dyn.load下载mac os二进制文件.
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include -I/usr/local/include -I"/Users/avi/Library/R/3.0/library/Rcpp/include" -fPIC -g -O3 -pipe -std=c++0x -Wall -pedantic -c blockpfgaussianopt.cpp -o blockpfgaussianopt.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 mylib.so blockpfgaussianopt.o history.o pflineart.o pfnonlinbs.o smc-exception.o /Users/avi/Library/R/3.0/library/Rcpp/lib/libRcpp.a -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework …Run Code Online (Sandbox Code Playgroud)