首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R函数独立工作,在lapply中使用时出错

是指在R语言中,当使用lapply函数时,可能会遇到某个函数在独立工作时正常运行,但在lapply函数中使用时出现错误的情况。

lapply函数是R语言中的一个高级函数,用于对列表或向量中的每个元素应用同一个函数。它返回一个列表,其中包含了对每个元素应用函数后的结果。

当在lapply函数中使用某个函数时出现错误,可能是由于以下几个原因:

  1. 函数参数不匹配:在lapply函数中,需要确保函数的参数与列表或向量中的元素相匹配。如果参数不匹配,就会导致错误。可以通过检查函数的参数和lapply函数中的输入来解决这个问题。
  2. 函数依赖其他对象:有时候,某个函数可能依赖于其他对象或数据,而在lapply函数中无法访问到这些对象或数据,导致错误。可以通过将依赖的对象或数据作为参数传递给lapply函数来解决这个问题。
  3. 函数不适用于某些元素:某个函数可能对某些元素不适用,导致在lapply函数中使用时出错。可以通过在函数中添加条件语句来处理不适用的元素,或者使用其他适用于所有元素的函数来解决这个问题。
  4. 函数本身存在错误:有时候,函数本身可能存在错误,导致在lapply函数中使用时出错。可以通过检查函数的代码并进行调试来解决这个问题。

总结起来,当在lapply函数中使用某个函数时出现错误,需要检查函数参数是否匹配、函数是否依赖其他对象、函数是否适用于所有元素以及函数本身是否存在错误。根据具体情况进行调试和修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel VBA解读(143): 自定义函数中使用整列引用时,如何更有效率?

学习Excel技术,关注微信公众号: excelperfect Excel用户经常发现在公式中使用整列的引用很方便,这样可避免每次添加新数据时都必须调整公式。...VBA用户自定义函数中处理此问题的标准方法是获取整列引用和已使用单元格区域的交叉区域,以便用户自定义函数只需处理实际使用的整列的一部分。...然后,只有为每个工作表请求已使用单元格区域的第一个用户自定义函数使用时间来查找已使用的单元格区域,并且(假设计算本身不会改变已使用的单元格区域)将总是检索正确的数字。...这种技术的效率较低,因为每个计算周期中工作表可能被计算几次。 如果想找到包含数据的最后一行,当有许多包含数据的单元格时,使用Range.Find会更快。...注意,只能在Excel 2002及更高版本的用户自定义函数中使用Range.Find,并且除了命令宏或COM之外,不能在XLL中使用Find方法。

2.8K20

R tips:debug并修复一个ggplot2绘图错误的例子

出现bug的代码是使用clusterProfiler的cnetplot函数绘制一个富集分析图,正常情况下,它应该是出图如下: bug重现 出现问题的R对象是一个clusterProfiler的富集分析对象...这条命令出错(#7)。...如果是一步一步逐一检视data对象的话,可以知道它大概是data <- lapply(data, scales_transform_df, scales = scales)这条命令处出现了AsIs的问题...如何使用RStudio进行debug代码以及如何自由的查看R中的函数源码,以前的R tips推文中都曾经说过。...由于这个函数的源码ggplot2包中,现在是没办法直接修改这个函数的源码的,但是我们可以再创建一个ggplot_build.ggplot函数去覆盖原来的函数,只需要保证新建的ggplot_build.ggplot

2.4K20

R︱并行计算以及提高运算效率的方式(parallel包、clusterExport函数、SupR包简介)

应用场景:跟apply族(lapply/sapply效果一致)( R语言︱数据分组统计函数族——apply族用法与心得 ) 1、使用步骤 设置核心数:no_cores <- detectCores...lapply使用的时候也会出现这样的问题,如果出现问题,那么就白跑了,而且也不可能给你停顿下来。那么如何让lapply运行中跳过报错的办法呢?...注意,32位的R中,封顶上限为4G,无法一个程序上使用超过4G (数位上限)。这种时候,可以考虑使用64位的版本。...R语言使用Parallel时候,会出现这样的疑问,一些东西都需要广播给不同的核心,那么clusterExport步骤怎么办呢?能不能clusterExport一整个函数?...parallel包时,报错:Error in unserialize(node$con) : error reading from connection R语言中使用并行算法的时候,会出现报错

8K10

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

2、lapply、sapply和vapply函数: 这几个函数是一套,前两个参数都为X和FUN,其他参数R函数帮助文档里有相信介绍。...它们应用的数据类型都是列表,对每一个列表元素应用FUN函数,但返回值类型不大一样。lappy是最基本的原型函数,sapply和vapply都是lapply的改进版。...lapply(scores, mean) 3....)进行类型检查的sapply 虽然sapply的返回值比lapply好多了,但可预测性还是不好,如果是大规模的数据处理,后续的类型判断工作会很麻烦而且很费时。...下面代码的rt.value变量设置返回值长度和类型,如果FUN函数获得的结果和rt.value设置的不一致(长度和类型)都会出错: 1. > probs <- c(1:3/4) 2. > rt.value

56240

Apache Spark 2.2.0 中文文档 - SparkR (R on Spark) | ApacheCN

使用 spark.lapply 分发运行一个本地的 R 函数 spark.lapply SparkR 中运行 SQL 查询 机器学习 算法 分类 回归 树 聚类 协同过滤...1.6.x 升级至 2.0 升级至 SparkR 2.1.0 升级至 SparkR 2.2.0 概述 SparkR 是一个 R package, 它提供了一个轻量级的前端以从 R 中使用 Apache...可以用 spark-submit 或 sparkR 命令指定 --packages 来添加这些包, 或者交互式 R shell 或从 RStudio 中使用sparkPackages 参数初始化 SparkSession... 分发运行一个本地的 R 函数 spark.lapply 类似于本地 R 中的 lapply, spark.lapply 元素列表中运行一个函数,并使用 Spark 分发计算....你可以 R 中使用search()检查搜索路径 迁移指南 SparkR 1.5.x 升级至 1.6.x Spark 1.6.0 之前, 写入模式默认值为 append.

2.2K50

47-R编程(九:多线程操作之parallel)

,而是先启动N个附属进程,然后将数据分割成N块N个核上进行运行,等待附属进程结束返回结果。...() lapply()函数的并行版本 我们首先可以通过detectCores() 获得当前电脑可用核心数: detectCores() 4 比如我可怜的小mac 只有4个心脏。...接着我们配置一下,初始化分配给R 的核心数: no_cores <- detectCores() - 2 cl <- makeCluster(no_cores) 接着我们就可以使用lapply()函数的并行版本...3)变量作用域 局部调用 用时,分配的核心相当于新的环境。我们必须要在parAapply函数内部重新调用值或者加载包。...同样,如果是函数中调用了外部的变量也是: a <- 2 test_function <- function(x) { return(x[a]) } result <- parLapply(cl

88960

R tips:进一步的debug并修复cnetplot绘图bug

R升级到4.0+后,clusterProfiler的cnetplot会报如下的rescale错误,这个现象以及解决方法以前的推文:R tips:debug并修复一个ggplot2绘图错误的例子中曾经说过...同样的使用的测试R对象如下位置 文件名:test.rds 链接:https://pan.baidu.com/s/1l2hqNw034OEBwVvfy7_01g 提取码:kezh 载入工具包及导入rds...(2)而报错的直接位置是来源于data <- lapply(data, ggplot2:::scales_map_df, scales = npscales),正是其中的scales_map_df函数出错...R函数的源码。...也不是不可以,但是首先是工作量太大,手动去创建一个cnetplot.enrichResult并把其中的I函数位置给修改掉,然后再根据clusterProfiler::cnetplot的调用栈进行函数修改

2.9K80

R语言中 apply 函数详解

因此,Python和R中都有大量的函数和工具可以帮助我们完成这项任务,这一点也不奇怪。 今天,我们将使用R并学习R中转换数据时使用最广泛的一组“apply”函数。...tapply mapply 设置上下文 我将首先通过使用简单的数据集介绍上面的每个函数是如何工作的,然后我们将使用一个真实的数据集来使用这些函数。...让我们将其与lappy()相同数据上的输出进行比较: sum_lapply3 <- lapply(data, sum) #output sum_lapply3 ?...mapply函数最好用例子来解释——所以让我们先使用它,然后再尝试理解它是如何工作的。 首先,让我们看一个通常不以2个列表或2个向量作为参数的函数,例如max函数。...尾注 到目前为止,我们学习了R中apply()函数族中的各种函数。这些函数集提供了一瞬间对数据应用各种操作的极其有效的方法。本文介绍了这些函数的基础知识,目的是让你了解这些函数是如何工作的。

19.7K40

SparkR:数据科学家的新利器

项目背景 R是非常流行的数据统计分析和制图的语言及环境,有一项调查显示,R语言在数据科学家中使用的程度仅次于SQL。...RHadoop项目的出现使得用户具备了R中使用Hadoop处理大数据的能力。 Apache顶级开源项目Spark是Hadoop之后备受关注的新一代分布式计算平台。...R和Spark的强强结合应运而生。2013年9月SparkR作为一个独立项目启动于加州大学伯克利分校的大名鼎鼎的AMPLAB实验室,与Spark源出同门。...为了符合R用户经常使用lapply()对一个list中的每一个元素应用某个指定的函数的习惯,SparkRRDD类上提供了SparkR专有的transformation方法:lapply()、lapplyPartition...RRDD派生自RDD类,改写了RDD的compute()方法,执行时会启动一个R worker进程,通过socket连接将父RDD的分区数据、序列化后的R函数以及其它信息传给R worker进程。

4.1K20

【数据科学家】SparkR:数据科学家的新利器

摘要:R是非常流行的数据统计分析和制图的语言及环境,有调查显示,R语言在数据科学家中使用的程度仅次于SQL,但大数据时代的海量数据处理对R构成了挑战。...项目背景 R是非常流行的数据统计分析和制图的语言及环境,有一项调查显示,R语言在数据科学家中使用的程度仅次于SQL。...RHadoop项目的出现使得用户具备了R中使用Hadoop处理大数据的能力。 Apache顶级开源项目Spark是Hadoop之后备受关注的新一代分布式计算平台。...R和Spark的强强结合应运而生。2013年9月SparkR作为一个独立项目启动于加州大学伯克利分校的大名鼎鼎的AMPLAB实验室,与Spark源出同门。...为了符合R用户经常使用lapply()对一个list中的每一个元素应用某个指定的函数的习惯,SparkRRDD类上提供了SparkR专有的transformation方法:lapply()、lapplyPartition

3.5K100

R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

介绍一种按照日期范围——例如按照周、月、季度或者年——对其进行分组的超简便处理方式:R语言的cut()函数。...lapply函数可以对每组数据都执行同样的算法。Split和lapply两者结合可以实现本案例。 2.由于分组后的数据可以复用,因此本算法比aggregate性能更高。...3.Lapply函数也不支持多种统计方法,因此也要用两句代码分别实现sum和max算法,最后再用cbind拼合。另外,本算法还要额外用到split函数,因此易用性上没有改进,反而是更差了。...3、Lapply 是 apply 函数Lapply 是 apply 函数族的一份子,类似的函数还有 sapply 和 tapply。...进一步地,data.table某些情况下执行效率更高。(参考来源:R高效数据处理包dplyr和data.table,你选哪个?) ?

20.4K32

隐式循环及function函数

写在开头 最近在复习数据挖掘课程内容,hhh确实是兜兜转转从去年学到了今年 去年的课程笔记整理:#R语言数据挖掘 今年重新学习一遍,所以准备补充一些知识点,以及找几个GEO芯片数据实战分析一下。...隐式循环 单细胞分析中,我们读取多个单细胞数据集时通常会用到lapply()函数,循环读取多个数据集 比如在技能树最近如何整合多个单细胞数据集推文中,就多次用到了lapply()函数 dir='GSE152938...(sceList, dim)) 正好复习R语言基础的时候,学到了apply()和lapply()两个函数,那一起来了解一下隐式循环吧!...写函数函数——function() 使用apply或者lapply函数时,都有FUN参数,就是我们执行循环时需要用的函数,这个函数可以是内置的比如mean或者sum等函数,也可以由我们自己构建 如果需要写对应需求的函数...,那就需要用到function()函数——写函数函数,因为本人的R语言基础暂时还不足以解释这个函数,所以就附上小洁老师在数据挖掘的PPT 参数 function函数

9910

R语言经典实例8】如何定义一个R函数

定义函数后,我们可以在任何需要函数的地方应用它,例如可以作为lapply函数的第二个参数(参见方法6.2): > cv <- function(x) sd(x)/mean(x) > lapply(lst...先前的例子中我们提到将cv函数作为lapply函数的一个参数,而若使用匿名函数直接作为lapply函数的参数,则能将原先的命令简化至同一行中: > lapply(lst, function(x) sd(...全局变量 函数中,你可以通过<<-操作符来改变全局变量的值,但此种方法不推荐使用。...先前的例子中我们提到将cv函数作为lapply函数的一个参数,而若使用匿名函数直接作为lapply函数的参数,则能将原先的命令简化至同一行中: > lapply(lst, function(x) sd(...全局变量 函数中,你可以通过<<-操作符来改变全局变量的值,但此种方法不推荐使用。

2.8K40

你不需要真的这个包,而仅仅是需要它里面的数据

应该是我们周末班准备工作给的安装R包 http://www.bio-info-trainee.com/3727.html 最新的批量安装R包的方式 首先配置中国大陆特色镜像 options()$repos...])] new.packages packToInst <- setdiff(list.of.packages, installed.packages()) packToInst if(T){ lapply...这样你可以很顺利的安装它,但是因为你强行修改了它的依赖,所以你安装的应该是一个残缺版本,如果后续它这个包确实是依赖于 DESeq 包里面的函数或者对象,就尴尬了。...,其实就存储 data 文件夹: 存储 data 文件夹 你不需要安装这样的包,也不需要加载它,仅仅是load这个压缩包里面的文件夹里面的对应的R数据对象文件即可。...= lib.loc, character.only = TRUE, logical.return = TRUE, : 不存在叫‘DESeq’这个名字的程辑包 载入需要的程辑包:DESeq 收捲时出错

1.3K51

R语言入门系列之三:R脚本

写好的R语言程序一般保存为R脚本,这样以后完成相似数据处理任务时可以方便地直接调用。...linux系统命令行,我们可以使用“Rscript”命令来调用运行写好的程序,并添加一些必须的命令行参数;Windows系统的Rstudio中,可以使用source()函数来调用写好的R脚本。...apply函数家族 apply函数家族主要成员如下: apply 对数组行或者列使用函数 apply(X, MARGIN, FUN, ...) lapply 对列表或者向量使用函数 lapply...lapply()通过对x的每一个元素运用函数,生成一个与元素个数相同的值列表: lapply(X, FUN, ...)...例如将上面自定义函数保存为otu_select.R并放到当前R工作路径,调用方法如下所示: source("otu_select.R") data=read.table("sample.subsample.otu_table.txt

3.4K20
领券