实际上,跑逻辑回归用了0.1秒 > system.time(fit< glm(PRONO~., + data=myocarde_large, family="binomial")) user...注意到对于样条函数,计算时间也很相似 > library(splines) > system.time(fit<-glm(PRONO~bs(INSYS)+., + data=myocarde_large...现在,如果我们使用步进式程序,它耗时会长一些:几乎要一分钟,比单次逻辑回归慢500倍 > system.time(fit<-step(glm(PRONO~....但如果是500棵树(默认值)就需要20多倍的时间(从比例上看这也是合理的时间,创建了500棵树而不是50) > system.time(fit<-randomForest(PRONO~., + data...用5个协变量(协变量总数的平方根,即默认值),需要6秒, > system.time(fit<-randomForest(PRONO~., + data=myocarde_large,mtry=5))
比如我们计算100万随机数, 计算他们的平方, 这里使用两种方法: 第一种, for循环; 第二种, 向量化 set.seed(123) dat= rnorm(1000000) for循环 system.time...dd[i] = dat[i]^2 } }) user system elapsed 0.31 0.03 0.35 直接在原向量上计算平方 system.time...N = 1e5;N 1e+05 system.time({ dat =1 for(i in 2:N){ dat = c(dat,dat[i-1]+sample(1:2,...8.88 0.15 9.07 预先分配内存 dat的长度是1e5, 因此我们可以生成这一个为0的向量, 这样他的内存就固定了 N = 1e4;N dat = rep(0,N) 10000 system.time...( rowSums(dd)) user system elapsed 0.05 0.00 0.05 使用data.frmae system.time( rowSums(dat
0) { return(0) } if (n == 1) { return(1) } return(fibR(n - 1) + fibR(n - 2)) } 运行: system.time...(x < 2) return x; else return (fibonacci(x - 1)) + fibonacci(x - 2); }" ) 运行: system.time...return(memo[x]) } ans <- f(x - 2) + f(x - 1) memo[x] <<- ans ans } }) 运行: system.time...(fibR2(35)) #> user system elapsed #> 0.001 0.000 0.000 再运行一次: system.time(fibR2(35)) #>...)) { third <- first + second first <- second second <- third } return(first) } 运行: system.time
R包SeuratDisk library(Seurat) library(SeuratDisk) # 1.1 h5ad转为Seurat time.py2R = system.time({ Convert.../Outdata/Step1.seurat.data.Clean.rds") # 1.2 Seurat转为h5ad time.R2py = system.time({ seu = DietSeurat...试试Seurat转为h5ad: # 2.2 Seurat转为h5ad time.R2py = system.time({ sceasy::convertFormat(seurat_object, from...试试Seurat转为h5ad: # 3.2 Seurat转为h5ad time.R2py = system.time({ MuDataSeurat::WriteH5AD(seurat_object,...# 4.2 Seurat转为h5ad time.R2py = system.time({ sceasy::convertFormat(seurat_object, from="seurat", to
()函数计算函数执行时间 execution_time <- system.time(BruteForce(10)) > # 使用system.time()函数计算函数执行时间 > system.time...使用system.time()函数计算函数执行时间 > system.time(BruteForce(50)) 用户 系统 流逝 1.06 0.00 1.06 > # 使用system.time(...)函数计算函数执行时间 > system.time(BruteForce(55)) 用户 系统 流逝 4.51 0.00 4.51 > # 使用system.time()函数计算函数执行时间 > system.time...()函数计算函数执行时间 system.time(BruteForce(1000000)) > # 使用system.time()函数计算函数执行时间 > system.time(BruteForce(...()函数计算函数执行时间 system.time(ThirdTry(100000000000000000000)) > # 使用system.time()函数计算函数执行时间 > system.time
library("rgdal") library("sf") library("maptools") 使用maptools包中的readShapePoly函数进行导入(已快被遗弃了,推荐使用sf和rgdal包) system.time...message: use rgdal::readOGR or sf::st_read china_map@data ggplot2::fortify(china_map) geojsonio包导入: system.time...encoding="utf-8", use_iconv=TRUE )) 用户 系统 流逝 0.69 0.03 0.71 使用rgdal包: system.time...7 fields Integer64 fields read as strings: BOU2_4M_ BOU2_4M_ID 用户 系统 流逝 0.66 0.09 0.75 使用sf包导入: system.time...geojson system.time(geojson <- geojson_read( "D:/R/mapdata/State/china.geojson",
vectorized_if_else <- base::Vectorize(if_else_statement) test001 <- c(rep("Fire", 100000), rep("Ice", 200000)) system.time...(sapply(test001, if_else_statement)) system.time(vectorized_if_else(test001)) system.time(ifelse(test001...== "Fire", "hot", "cold")) 这里顺便再比较了另外两种向量化操作的方式: > system.time(sapply(test001, if_else_statement))...用户 系统 流逝 0.471 0.036 0.669 > system.time(vectorized_if_else(test001)) 用户 系统 流逝 0.434 0.020 0.572...> system.time(ifelse(test001 == "Fire", "hot", "cold")) 用户 系统 流逝 0.070 0.005 0.086 这里有人还做了一张图
使用system.time()函数去计算代码运行时间,最后会返回三个数值,分别是user,system和elapsed。● user:用户CPU时间,即R代码本身在用户模式下执行的时间。...1、Rdata格式:system.time({save(sce.all,sce,sceList,file = "sce_RAW.Rdata")})# user system elapsed # 22.915...38.786 67.229 system.time({load("sce_RAW.Rdata")})# user system elapsed # 21.609 12.622 34.228...#740.750 27.599 770.705 system.time({sce <- readRDS("sce_RDS.rds")})# user system elapsed # 92.853...3、qs格式:同样只能对单对象保存,这里仅保存最大的文件(sce)# 需要先加载一下qs包library(qs)system.time({qsave(sce,file = "sce_qs.qs")})#
100条记录 # 正则法 system.time( news_regex <- news[1:100, ....(NewsID) ][order(NewsID), .SD] ) user system elapsed 0.58 0.00 0.58 # 分词法 system.time...][order(NewsID), unique(.SD)] ) user system elapsed 0.08 0.03 0.11 1000条记录 # 正则法 system.time...(NewsID) ][order(NewsID), .SD] ) user system elapsed 5.50 0.02 5.68 # 分词法 system.time...(NewsID) ][order(NewsID), .SD] ) user system elapsed 61.44 0.14 68.87 # 分词法 system.time
on="id") # join 类似sql中的join,比merge速度更快 first <- ddply(baseball, "id", summarise, first = min(year)) system.time...(b2 <- merge(baseball, first, by = "id", all.x = TRUE)) system.time(b3 <- join(baseball, first, by =...(llply(x,wait)) system.time(sapply(x,wait)) install.packages("doMC") library(doMC) registerDoMC(2) system.time...(llply(x,wait,.parallel=T)) # plyr flaws: low speed than build-in function system.time(ddply(baseball...,"id",summarize,length(year))) system.time(tapply(baseball$year,baseball$id,function(x) length(x))) 参考资料
注2:如果读取中文数据出现乱码,在编辑器设置下字符编码为”UTF-8” system.time(read_table("C:\\Users\\a\\Desktop\\biggerfile.txt",...col_names=c("DAY","MONTH","YEAR","TEMP"))) system.time(read.table("C:\\Users\\a\\Desktop\\biggerfile.txt...R中的基础包utils也有读取固定宽度数据的函数,下面的示例就能体现出readr的亮点: system.time(read_fwf("C:\\Users\\a\\Desktop\\biggerfile.txt...fwf_widths(c(3,15,16,12), col_names=c("DAY","MONTH","YEAR","TEMP")))) system.time
现在,我们也可以在此处使用快速傅立叶变换, > sum(cumsum(f)<.995) [1] 13654 让我们比较获得这三个输出的计算时间 > system.time user system...elapsed 2.453 0.106 2.611 > system.time user system elapsed 0.041 0.012...0.361 > system.time user system elapsed 0.527 0.020 0.560
(10000000), nrow=1000000)) write.csv(m, 'm2.csv', row.names = F) # Time taken by read.csv to import system.time...({m_df <- read.csv('m2.csv')}) # Time taken by fread to import system.time({m_dt # Time taken by read.csv to import > system.time({m_df <- read.csv('m2.csv')}) 用户 系统 流逝 48.84...1.09 50.72 > # Time taken by fread to import > system.time({m_dt <- fread('m2.csv')}) 用户 系统 流逝 0.47
data.table让你的读取速度提升百倍 #方法一、使用data.table包里的fwrite函数 #install.packages("data.table") library(data.table) #利用system.time...记录运行时间 system.time({fwrite(x = as.data.frame(pbmc[["RNA"]]@counts), row.names=T,file = "counts.csv")}...) 导出所用的时间如下 方法二、使用普通的write.csv函数 #方法二、使用普通的write.csv函数 #利用system.time记录运行时间 system.time({write.csv(
>% fromJSON() %>% `[[`(9) } 使用foreach提供的多进程服务进行数据提取: library("foreach") library("doParallel") system.time...使用parallel包提供的多进程服务进行数据提取: system.time({ cl<- makeCluster(detectCores()) all.pcg <- c("httr...使用ldply向量化函数: system.time( mydata3 <- plyr::ldply(1:16,GETPDF) ) 用户 系统 流逝 0.49 0.02 3.19 由测试可知,foreach
split(genesets$gene_symbol, genesets$gs_name) ## 测试counts数据 expr <- as.matrix(sc@assays$RNA@counts) system.time...) # 用户 系统 流逝 #196.838 533.948 207.484 ## 测试data数据 expr <- as.matrix(sc@assays$RNA@data) system.time...系统 流逝 #195.250 501.749 197.244 ## 测试scaledata数据 expr <- as.matrix(sc@assays$RNA@scale.data) system.time...scaledata数据 sc2 <- ScaleData(sc, features = rownames(sc)) expr <- as.matrix(sc2@assays$RNA@scale.data) system.time
peakpickingParameters$fwhm <- c(40, 50) #设置参数范围 peakpickingParameters$steps <- 2#设置参数值 time.xcmsSet <- system.time...getDefaultRetGroupStartingParams() retcorGroupParameters$profStep <- 1 retcorGroupParameters$gapExtend <- 2.7 time.RetGroup <- system.time
函数执行普通的向量运算 library("doParallel") #加载doParallel包用于之后注册进程 library("foreach") #导入foreach包 system.time...多个进程共享的系统环境 ) %dopar% GETPDF(i) stopCluster(cl) }) 用户 系统 流逝 0.08 0.01 2.18 方案2——使用%dopar%函数执行多进程的运算 system.time...system.time( mydata3 <- plyr::ldply(1:16,GETPDF) ) 用户 系统 流逝 0.32 0.00 4.54 整体时间效率比较: ldply > %do% >
,"\n") } system.time(myworks(mydata1)) ? 一共10个PDF文件,下载过程未设置等待时间,平均4.5m,一共44.5m,总耗时100m。...filelinks$title,".pdf"),quiet=TRUE, mode = "wb") } url <- "https://mlab.toutiao.com/report/download/"system.time...".pdf"),quiet=TRUE, mode = "wb") "OK" },error=function(e){ "Trouble" }) } system.time
vectorized_if_else <- base::Vectorize(if_else_statement) test001 <- c(rep("Fire", 100000), rep("Ice", 200000)) > system.time...(sapply(test001, if_else_statement)) 用户 系统 流逝 0.471 0.036 0.669 > system.time(vectorized_if_else...(test001)) 用户 系统 流逝 0.434 0.020 0.572 > system.time(ifelse(test001 == "Fire", "hot", "cold")) 用户
领取专属 10元无门槛券
手把手带您无忧上云