Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用的麻烦

应用的麻烦
EN

Stack Overflow用户
提问于 2015-07-23 07:41:00
回答 1查看 159关注 0票数 1

我在使用mapply函数时遇到了问题。

基本上有一个响应向量"class“和一个预测矩阵"pred”。

代码语言:javascript
运行
AI代码解释
复制
class <-c(rep(1,5),rep(2,5))
pred  <-matrix(c(rnorm(10), rnorm(10), rnorm(10)), ncol = 3)

我想要的是应用函数"llda“三次,每次使用来自预测矩阵的另一列。

职能:

代码语言:javascript
运行
AI代码解释
复制
library(MASS)
llda<-function(class, pred){ 
sum(predict(lda(class~pred))$class==class)/length(class)
}

适用结果应提供:

代码语言:javascript
运行
AI代码解释
复制
llda(class, pred[,1])
llda(class, pred[,2])
llda(class, pred[,3])

我把“类”和"pred“转换成列表。这样,"pred“的每个列向量就成为列表中的一个单独的项。

代码语言:javascript
运行
AI代码解释
复制
list(class)->class
split(pred, col(pred))->pred

当我现在尝试使用时,我会得到一个错误。

代码语言:javascript
运行
AI代码解释
复制
mapply(llda(class, pred), class = class, pred = pred)

然而,这是可行的:

代码语言:javascript
运行
AI代码解释
复制
llda(class[[1]],pred[[1]])
llda(class[[1]],pred[[2]])
llda(class[[1]],pred[[3]])

难道不应该这么做吗?获取每个列表的第一个元素并保存此列表。然后取第二个pred,因为类只有一个元素,所以这个元素被回收了。

我自己搞不清是怎么回事。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 07:52:51

mapply(llda, class = class, pred = pred)会工作的。您只需要为mapply提供要迭代的函数和对象列表。您所拥有的代码是不正确的,因为它将计算llda(class, pred),而它的返回本身并不是一个函数,因此mapply将失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31594427

复制
相关文章
泛函编程(33)-泛函IO:Free Functor - Coyoneda
   在前几期讨论中我们终于推导出了Free Monad。这是一个Monad工厂,它可以把任何F[A]变成Monad。可惜的是它对F[A]是有所要求的:F必须是个Functor。Free Monad由
用户1150956
2018/01/05
8950
【基于 JS 的函数式编程 - 4】函子 | MayBe函子 | Monad函子
定义: 函子是一个普通对象,它实现了map函数,在遍历每个对象值的时候生成一个新对象。即,函子是一个实现了 map 契约的对象!
前端修罗场
2023/10/07
2530
【基于 JS 的函数式编程 - 4】函子 | MayBe函子 | Monad函子
函子定律
前段时间学了下 Haskell,看完了《Haskell 趣学指南》,刷了一些题,《Real World Haskell》正在看。因为早先看过《SICP》,有点 FP 的基础,平常写 Swift 也喜欢用些 FP 的技巧,所以暂时没有什么特别颠覆性的感觉。最大的感受是,以前对 Functor、Applicative 和 Monad 的理解太片面了。
Sheepy
2018/09/10
9670
Applicative 函子
Application 函子是一种加强的函子,在 Haskell 的 Control.Applicative 模块中定义了一个 Applicative 类型类:
Sheepy
2018/09/10
7600
【说站】javascript函子是什么
1、作为特殊容器通过普通对象实现,该对象具有map方法,map方法可以运行函数处理值(变形关系)。
很酷的站长
2022/11/23
2570
【说站】javascript函子是什么
JavaScript函数式编程之函子
函子是一个特殊的容器,通过一个普通对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理(变形关系),容器包含值和值变形关系(这个变形关系就是函数)。函数式编程中解决副作用的存在
开水泡饭
2022/12/26
1.2K0
Haskell
这门语言在数学模型上有着很深的优势,虽然它有很多特性,让人很难接受,随着学习的深入,你才会发现这会多么有趣。
icepy
2019/06/24
9250
Haskell doctest
一定要注意格式 第一行很重要,-- |这行没有就不是一个 test。 可以对比 >>> 的个数 和 terminal里的 Examples 个数确认是否自己的所有 test 都测试了
莫听穿林
2022/05/20
3300
Haskell doctest
泛函编程(3)-认识Scala和泛函编程
本文介绍了Scala语言中的泛函编程,从类型系统和函数式编程两个角度进行了讲解。首先介绍了Scala的类型系统特性,包括集合操作、类型推导和模式匹配。然后讲解了函数式编程在Scala中的应用,包括尾递归、纯函数、不可变数据结构、柯里化和匿名函数。通过几个示例展示了如何在Scala中实现泛函编程,包括计算第n个斐波那契数、使用高阶函数和匿名函数处理数据。最后介绍了如何使用Scala的函数作为输入参数或返回值,以及如何使用函数文本和匿名函数。
用户1150956
2018/01/04
6140
✨从纯函数讲起,一窥最深刻的函子 Monad
本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!
掘金安东尼
2022/10/27
4580
Haskell Platform安装
不懂了,明天写
云深无际
2020/11/03
1.1K0
Haskell Platform安装
haskell 求助
findBonding :: Eq a => (a -> a -> Bool) -> [a] -> Maybe [(a,a)]
用户6797589
2019/12/02
5770
什么是 Monad (Functional Programming)?函子到底是什么?ApplicativeMonad
函数式编程的精髓就在于,我们可以用好多好多小小函数,搭搭搭,组成一个个大函数,最终写出整个程序来。比如我们想写一个函数
一个会写诗的程序员
2018/12/12
4.5K0
Monad
什么是函数(Function)? 函数表达的映射关系在类型上体现在特定类型(proper type)之间的映射。
lambeta
2018/08/17
1.3K0
Monad
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
我记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会:
四火
2022/07/19
3870
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
基类和派生类
  在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。-百度百科
全栈程序员站长
2022/09/20
1K0
scala(十一) 派生类与派生对象
Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象来模拟类对象,该对象为单例对象。若单例对象名与类名一致,则称该单例对象这个类的伴生对象,这个类的所有“静态”内容都可以放置在它的伴生对象中声明。
用户1483438
2022/04/15
5380
模块_Haskell笔记2
hiding语法能够缓解命名冲突问题,但不很方便,对于存在大量命名冲突的模块,可以通过qualified保留命名空间来避免冲突
ayqy贾杰
2019/06/12
1.8K0
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
这是这个系列的最后一篇,从编程范型的角度概览,前面几篇的链接在文章后半部分有汇总。
四火
2022/07/19
5490
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)
本篇文章的话题是元编程。首先来认识元编程,我在第一篇 《引子》里面已经介绍:元编程,指的是在运行时改变 “类” 的定义,例如访问、增加或修改等等。一言以蔽之,就是 “用程序来写程序”。在第二篇的 《类型系统》里面已经借由继承和接口的实现,介绍了一些利用元编程特性来增加或改变子类行为的方法。回顾语言发展的长河,其实是经历了一个从 “对象 -> 类 -> 元类” 到 “对象 -> 原型” 的发展过程的。所以,无论是类,还是元类,这样的概念其实都不是非有不可的,只是因为我们思考的习惯,特别是抽象的习惯而顺其自然地产生了。这一点我在 《编程范型:工具的选择》里面已经详细描述了,建议在往下阅读前移步。
四火
2022/07/18
5630
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(元编程)

相似问题

Haskell -函子

13

Coyoneda与自由函子的区别是什么?

10

Haskell中的基本函子

12

Haskell :应用函子

14

Haskell fmap函子

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档