首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏优雅R

    「R」apply,lapply,sapply用法探索

    我一般最常用的函数为apply和sapply,下面将分别介绍这8个函数的定义和使用方法。 2. apply函数 apply函数是最常用的代替for循环的函数。 4. sapply函数 sapply函数是一个简化版的lapply,sapply增加了2个参数simplify和USE.NAMES,主要就是让输出看起来更友好,返回值为向量,而不是list对象。 > sapply(data.frame(x), sum) x1 x2 12 12 # 检查结果类型,sapply返回类型为向量,而lapply的返回类型为list > class(lapply( x, sum)) [1] "list" > class(sapply(x, sum)) [1] "numeric" 如果simplify=FALSE和USE.NAMES=FALSE,那么完全sapply 1 1 [2,] 1 1 , , 2 [,1] [,2] [1,] 2 2 [2,] 2 2 # 默认情况,则自动合并分组 > sapply(a

    5.3K32发布于 2020-07-06
  • 来自专栏生物信息学、python、R、linux

    apply(), lapply(), sapply(), tapply()的区别

    3.sapply() function sapply() 输入为 list, vector or data.frame ,输出为 vector or matrix. sapply()与 lapply( sapply(X, FUN) Arguments: -X: A vector or an object -FUN: Function applied to each element of x 参考: https://www.guru99.com/r-apply-sapply-tapply.html#2

    1.6K30发布于 2020-07-01
  • 来自专栏优雅R

    「R」简单理解lapply,sapply,vapply

    在我之前转载的文章《apply,lapply,sapply用法探索》中已经对R中apply家族函数进行了比较详细地说明,这篇文章基于我在data campus中对lapply、sapply、vapply 因此,我们可以使用sapply函数,s前缀即简化之意。 > sapply(temp, basics) [,1] [,2] [,3] [,4] [,5] [,6] [,7] min -1.0 5 -3.0 -2.0 2.0 -3.0 记得,如果你使用迭代计算的结果不是一个向量,就不要使用sapply进行简化计算。 Once you know about vapply(), there's really no reason to use sapply() anymore.

    1.8K20发布于 2020-07-02
  • 来自专栏磐创AI技术团队的专栏

    R语言中 "apply" 函数详解

    sapply() sapply()函数(simplified apply的缩写)类似于lappy函数。唯一的区别是输出的返回类型——sapply()根据返回的值简化了输出。 <- sapply(data, sum) #output sum_sapply1 ? <- sapply(data, sum) #output sum_sapply2 ? <- sapply(data, sum) #output sum_sapply3 ? 如果我们使用lapply()或sapply()呢? lapply(data, max) sapply(data, max) 因此,我们可以看到lappy()和sapply()实际上都提供了相同的输出。

    21.9K40发布于 2021-04-21
  • 空间转录组合作项目分析示例(四)

    [sample_ls[i]]] spot_list <- lapply(c(1:500),function(x){ #num. of shuffled matrices all_row <- sapply (c(1:max_win_size), function(win_size){ proximity <- t(sapply(all_spots, function(spot){ win_spots <- c(spot) sapply(c(1:win_size), function(i){ win_spots <<- unique(c(win_spots,unique(na.omit = 0){ sapply(add_clusters,function(clust){ proximity <<- cbind(proximity,rep(0,dim(proximity) is_one,] all_cor <- sapply(c(1:dim(pairs)[2]), function(j){ pair_cor <- cor(proximity[,pairs[1,

    28220编辑于 2024-09-09
  • 来自专栏R语言数据分析指南

    快速掌握apply函数家族推荐这篇文档

    sapply:与 lapply 类似,但它自动将结果转换为向量、矩阵或数组。 apply:用于对矩阵或数组的行、列或其他维度进行循环操作。 ❝如果想要将结果转换为向量、矩阵或数组,可以使用 sapply 函数。它的基本语法与 lapply 类似,只是将 lapply 替换为 sapply 即可。 ❞ 例如,下面的代码使用 sapply 函数将列表中的每个字符串转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") # 使用 sapply 函数对列表中的每个字符串执行 toupper 函数 sapply(x, toupper) [1] "APPLE" "BANANA" "CHERRY" 注意,sapply 函数的返回值是一个向量,其中的每个元素表示对应的数据执行函数后的结果 函数计算列表中所有数字的平方和 下面的代码使用 sapply 函数计算列表中所有数字的平方和: # 创建列表 x <- list(1, 2, 3, 4, 5) # 使用 sapply 函数计算列表中所有数字的平方和

    3.8K30编辑于 2022-12-22
  • 来自专栏优雅R

    「R」解决R包Check汇报'marked UTF-8 strings'问题

    (TCGA.organ, is_asc) FALSE %in% sapply(ccle_absolute, is_asc) FALSE %in% sapply(ccle_info, is_asc) FALSE %in% sapply(tcga_clinical, is_asc) FALSE %in% sapply(tcga_genome_instability, is_asc) FALSE %in% sapply (tcga_gtex, is_asc) FALSE %in% sapply(tcga_purity, is_asc) FALSE %in% sapply(tcga_subtypes, is_asc) FALSE %in% sapply(tcga_surv, is_asc) FALSE %in% sapply(toil_info, is_asc) sapply(toil_info, is_asc) 然后锁定问题列以及检查问题字符串总数是否能对上 : > sapply(toil_info, is_asc) sample detailed_category primary disease or

    59850发布于 2021-04-07
  • 来自专栏YoungGy

    R语言_apply系列函数

    list to list x <- list(a = 1, b = 1:3, c = 10:100) lapply(x, FUN = length) lapply(x, FUN = sum) #sapply #list to vector x <- list(a = 1, b = 1:3, c = 10:100) sapply(x, FUN = length) sapply(x, FUN = sum) sapply(1:5,function(x) rnorm(3,x)) sapply(1:5,function(x) matrix(x,2,2)) sapply(1:5,function(x) matrix (x,2,2), simplify = "array") #vapply #speed up the sapply x <- list(a = 1, b = 1:3, c = 10:100) #Note

    1.2K30发布于 2019-05-26
  • 来自专栏科技记者

    PRS多基因评分教程学习笔记(二)

    (B.A1, complement) == A1 & sapply(B.A2, complement) == A2, SNP] # Now update the sapply(B.A2, complement))] # And update the info structure info[SNP %in% com.snps, c("B.A1", "B.A2") := list(sapply(B.A1, complement), sapply(B.A2, complement))] c.识别需要在目标中重新编码的SNP (B.A1, complement) == A2 & sapply(B.A2, complement) == A1, SNP] # Now update the ) := list(sapply(B.A2, complement), sapply(B.A1, complement))] # Write the updated

    2.7K30发布于 2020-03-03
  • 来自专栏素质云笔记

    R语言︱数据分组统计函数族——apply族用法与心得

    apply 在apply之上加入table功能,可以分组汇总 table结合,可以分组汇总 lapply=list apply 都需要数据框格式,可以与list合用,返回仍是list list用法 sapply Apply a Function over a List or Vector对列表或者向量使用函数 sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE 函数sapply是函数lapply的一个特殊情形,对一些参数的值进行了一些限定,其使用格式为: sapply(X, FUN,..., simplify = TRUE, USE.NAMES = TRUE) sapply(*, simplify = FALSE, USE.NAMES = FALSE) 和lapply(*)的返回值是相同的。 如果参数simplify=TRUE,则函数sapply的返回值不是一个list,而是一个矩阵; 若simplify=FALSE,则函数sapply的返回值仍然是一个list。

    4.1K30发布于 2019-05-28
  • 来自专栏生信补给站

    R编程之路_数据汇总(2)

    lappy是最基本的原型函数,sapply和vapply都是lapply的改进版。 $ShuXue 15. 50% 70% 90% 16.87.0 96.6 99.6 2.2 sapply返回的结果比较“友好”,如果结果很整齐,就会得到向量或矩阵或数组 sapply是simplify 1. > sapply(scores, mean) 2. . > sapply(scores, quantile, probs=c(0.5,0.7,0.9)) 5. 虽然sapply的返回值比lapply好多了,但可预测性还是不好,如果是大规模的数据处理,后续的类型判断工作会很麻烦而且很费时。

    79940发布于 2020-08-06
  • 来自专栏数据小魔方

    R语言数据清洗实战——世界濒危遗产地数据爬取案例

    ,c(2,5,7,9))] 原始数据非常混乱,我使用stringr结合sapply函数,分别提取了遗产的所在地址、经纬度信息、类别信息等。 以下函数除了sapply之外,我都在最近几篇的推送中有所涉及,特别是正则表达式在本次数据清洗中起到了很大的作用,如果你对正则还不太熟悉,可以参考这篇文化文章。 \\d{1,}") %>% strsplit(";") %>% sapply("[[",1) %>% as.numeric heritage_Current$long<-heritage_Current $Criteria %>% strsplit(":") %>% sapply("[[",1) heritage_Current<-heritage_Current[,c("Name","Criteria sapply函数在这里起到批量提取列表中单个对象第n个子对象的作用,因为strsplit函数按照“;”作为分隔符分列,这里“[[”其实是一个函数,详细用法参考?sapply文档说明。

    2.3K60发布于 2018-04-11
  • 来自专栏CDA数据分析师

    R语言 apply函数家族详解

    sapply(x, f, simplify=FALSE, USE.NAMES=FALSE)返回的值与lapply(x,f)是一致的。 sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE) X表示一个向量或者表达式对象,其余对象将被通过as.list强制转换为list simplify 例: > sapply(k, paste,USE.NAMES=FALSE,1:5,sep="...") [,1] [,2] [,3] [1,] "a...1" "b...1" "c...1" [2,] .2" "c...2" [3,] "a...3" "b...3" "c...3" [4,] "a...4" "b...4" "c...4" [5,] "a...5" "b...5" "c...5" > sapply ,] "a...4...TRUE" "b...4...TRUE" "c...4...TRUE" [5,] "a...5...TRUE" "b...5...TRUE" "c...5...TRUE" > sapply

    2K100发布于 2018-02-08
  • 来自专栏R语言及实用科研软件

    🤠 Wordcloud | 风中有朵雨做的'词云'哦!~

    class",dataset_labels,sep="_") unique_labels <- unique(dataset_labels_p) unique_labels 4数据初步整理 然后我们利用sapply 可能会有小伙伴问sapply和lapply有什么区别呢!? ok, sapply()函数与lapply()函数类似,但返回的是一个简化的对象,例如向量或矩阵。 如果应用函数的结果具有相同的长度和类型,则sapply()函数将返回一个向量。 如果结果具有不同的长度或类型,则sapply()函数将返回一个矩阵。 dataset_s <- sapply(unique_labels,function(label) list( dataset[dataset_labels_p %in% label,1] ) ) str document_tm_clean) colnames(document_tm_clean_mat) <- unique_labels # 去除长度小于4的term index <- as.logical(sapply

    34710编辑于 2023-09-04
  • 来自专栏深蓝居

    R语言中的循环函数(Grouping Function)

    R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等。这几个函数功能有些类似,下面介绍下这几个函数的用法。 Sapply Sapply函数和Lapply函数很类似,也是对List进行处理,只是在返回结果上,Sapply会根据结果的数据类型和结构,重新构建一个合理的数据类型返回。 还是上面的例子,只是把lapply换成sapplysapply(s,function(x){if(is.numeric(x)){mean(x)}else{length(x)}}) name Mapply 这是对多个数据(multivariate)进行sapply处理,只是调用是参数位置有所变化,先把函数放前面: mapply(运算函数,函数的参数,第一个传入参数,第二个数据…,SIMPLIFY

    2K20编辑于 2022-06-16
  • 来自专栏张高兴的博客

    社交网络分析的 R 基础:(四)循环与并行

    一般使用最多的是对矩阵处理的函数 apply() 以及对向量处理的函数 sapply()。 apply() 系列函数[1] apply() apply() 函数用于多维数据的处理,比如矩阵。 对一个矩阵的行求和使用 apply() 函数更简单,但效率上不如 sapply()。 func2 <- function(matrix) { return(apply(matrix, 1, sum)) } sapply() sapply() 函数用于循环处理一维数据,比如向量。 参数上更加精简,处理完成的数据返回的结果集为向量,其定义如下: sapply(X, FUN) 其中 X 是要循环处理的数据,即向量;FUN 是循环处理的函数。 在不使用向量运算的前提下计算向量的平方,使用 sapply() 函数可以这样: > v <- c(1, 2, 3) > sapply(v, function(item) { return(item ^

    1.8K10编辑于 2022-05-09
  • 来自专栏数据科学(冷冻工厂)

    scRNA-seq 细胞通信 分析教程(长文+代码)

    sep="\t", check.names=F) num_pairs <- colSums(p[,-(1:11)] < 0.01) num_pairs <- data.frame(partner1 = sapply ),"\\|"),"[",2), num = num_pairs) mat_num_pairs <- sapply(sort(unique(num_pairs $partner1)), function(x) sapply(sort(unique(num_pairs$partner2)), function(y) num_pairs$num[which (strsplit(names(num_pairs),"\\|"),"[",1), to = sapply(strsplit(names(num_pairs (sort(unique(num_pairs$from)), function(x) sapply(sort(unique(num_pairs$to)), function(y) num_pairs

    45400编辑于 2025-05-09
  • 来自专栏爬虫资料

    colnames看似简单,却能优化数据处理流程

    提取招聘信息(示例数据结构为JSON) data <- fromJSON(content)$data$results # 转换为数据框 df <- data.frame( company = sapply (data, function(x) x$company$name), position = sapply(data, function(x) x$job_name), requirements = sapply(data, function(x) x$requirement), salary = sapply(data, function(x) x$salary) ) # 设置列名 招聘信息.csv", fileEncoding = "UTF-8")# 薪资分析(假设薪资格式为 "10k-20k")df$min_salary <- as.numeric(gsub("k", "", sapply (strsplit(as.character(df$薪资待遇), "-"), "[", 1)))df$max_salary <- as.numeric(gsub("k", "", sapply(strsplit

    38910编辑于 2025-01-06
  • 来自专栏火星娃统计

    R海拾遗-apply家族学习

    概述 在实际的工作中,我们总要面对各种各样的数据结构处理,这些操作可以使用循环来完成,但是容易造成内存的占用,以前其实了解过这方面的函数,但是记不清,因此整理下 主要函数如下 apply lapply sapply 参数方面少了margin 示例 x<-lapply(iris[,1:4],mean,na.rm=T) # 因为输出的为list格式,因此一般情况下需要使用unlist函数进行分解 unlist(x) sapply 函数 Sapply函数返回的是一个向量,不过增加了两个参数 simplify 如果为T,将输出结果数组化,否则为list use.NAMEs 如果为T,设置字符串为字符名 示例 sapply(iris[

    98530发布于 2020-09-15
  • 来自专栏拓端tecdat

    R语言代做编程辅导因子实验设计STA305/1004 Assignment(附答案)

    Check if these assumptions are fuflilled.sapply(split(reflect,operator),mean)sapply(split(reflect,operator pulpdat.csv")attach(pulpdat)#Calculate means and sd for each operatorsapply(split(reflect,operator),mean)sapply

    31000编辑于 2022-12-14
领券