通过 sapply 使用多列作为变量

2023-12-23

我有一个dataframe我想应用一个函数,该函数获取三列的值并计算三个值之间的最小差异。

#dataset
df <- data.frame(a= sample(1:100, 10),b = sample(1:100, 10),c= sample(1:100, 10))

#function
minimum_distance <- function(a,b,c)
{
  dist1 <- abs(a-b)
  dist2 <- abs(a-c)
  dist3 <- abs(b-c)
  return(min(dist1,dist2,dist3))
}

我正在寻找类似的东西:

df$distance <- sapply(df, function(x) minimum_distance(x$a,x$b,x$c) )
## errormessage
Error in x$a : $ operator is invalid for atomic vectors

虽然我可以使用 ddply:

df2 <- ddply(df,.(a),function(r) {data.frame(min_distance=minimum_distance(r$a,r$b, r$c))}, .drop=FALSE)

这不会保留所有列。有什么建议么?

编辑:我最终使用了:

df$distance <- mapply(minimum_distance, df$a, df$b, df$c)

尝试映射():

qq <- mapply(minimum_distance, df$a, df$b, df$c)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 sapply 使用多列作为变量 的相关文章

随机推荐

  • 迷失在 NSButton 类型和替代图像中

    我想要一个NSButton带有图像和备用图像 按下按钮时应显示备用图像 我还想通过代码显示备用图像 调用类似 button setSelected YES 这是否可能无需与alternateImage用手财产 无需手动更改按钮的图像即可实现
  • Java:使用 SAXParser 拆分大型 XML 文件

    我正在尝试使用java将一个大的XML文件分割成更小的文件SAXParser 特别是维基百科转储 未压缩时大约有 28GB 我有一个Pagehandler扩展的类DefaultHandler private class PageHandle
  • 在Python中对两个文本文件进行类似SQL的JOIN,有内置的方法吗?

    我必须执行的一项常见任务是对两个文本文件执行类似 SQL 的 JOIN 即 使用在它们之间共享的标识符列上的某种联接 从 左手 和 右手 文件创建一个新文件 有时需要诸如外连接等变化 当然 我可以编写一个简单的脚本来以通用方式执行此操作 但
  • 时间序列预测(最终使用Python)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 What algorithms exist for time series forecasting r
  • 使用 Perl 使用 sendmail 发送电子邮件

    我正在遵循以下示例这个网站 http www tutorialspoint com perl perl sending email htm使用 Perl 发送电子邮件 代码看起来像这样 my hostname hostname my thi
  • Prometheus 中的increase() 有时会将值加倍:如何避免?

    我发现对于某些图表 我从 Prometheus 获得双精度值 其中应该只是一个 我使用的查询 increase signups count 4m 刮擦间隔设置为建议最大 https stackoverflow com questions 4
  • Zend_Search_Lucene 与 SOLR

    我最近偶然发现了 Lucene 项目的 Zend Lucene 端口 我对 SOLR 有一点经验 所以我想知道它们两者之间有什么区别 特别是从性能和安装方面来看 据我所知 SOLR 需要在 Web 托管中运行 Tomcat serverle
  • XCode 调试器停止并在“停止”按钮上显示 SIGKILL

    我在 MacOS Lion 上使用 XCode 4 2 在模拟器中调试 iPhone iPad 应用程序时 我使用 XCode 工具栏上的 停止 按钮 产品 停止 来退出应用程序 此后 XCode 通常会打开 main m 文件 将执行指针
  • 如何获取DataTables中的页数

    我正在与数据表 http datatables net index我需要知道表当前包含的页数 这当然取决于每页的行数和总行数 并且可能会因用户操作而改变 有人知道如何访问这个值吗 我相信 iTotalPages 就是您所追求的 http d
  • 如何在 Julia 中将 Float64 矩阵转换为 RGB 通道矩阵?

    假设我有以下矩阵 img 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • 随机化字符串[重复]

    这个问题在这里已经有答案了 我是 C 新手 所以不要因为我的愚蠢而责怪我 我正在开发一个应用程序 该应用程序应该随机化一个单词并给出它的长度 例如您写一个单词 Line 它会给您 iLen 目前我确信只有这部分有效 private void
  • 单元测试中的序列化异常

    我的 Visual Studio 2010 单元测试遇到问题 每当出现问题并抛出一种类型的异常时 UnitTestAdapter 就会抛出 SerializationExceptions 告诉我他无法反序列化抛出的异常 在我创建的单元测试中
  • 如何获取使用 asp .net 检查的 gridview 内的复选框的值

    我在 gridview 中使用复选框 我在第一个单元格中使用它 当我在运行时选择复选框时 我需要获取这些值 但是在选择或单击复选框时 它不是查找或值取为 FALSE 如何在 asp net 后端和 C 代码中编写
  • git 错误:无法将一些引用推送到远程

    我现在无法推动 尽管昨天我可以做到 当我使用git push origin master 我收到错误 git remote v origin https github com REDACTED git fetch origin https
  • 我们到底为什么要使用NoSQL? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 了解了 NoSQL 提供的一些优势 可扩展性 可用性等 后 我仍然不清楚为什么网站想要使用非关系数据库 我可以在这方面获得一些帮助 最好是有一个
  • 在具有日期时间索引的行之间执行计算并将它们放入新列中

    我有一个数据框 由这段代码生成 import pandas as pd import datetime as dt datarange pd date range 01 05 2018 00 00 00 periods 50 freq 4H
  • 当窗口打开时,window.close = true 如何?

    我正在单步执行代码 我意识到我无法关闭窗口 因为 DispHTMLWindow2 对象 close 属性仍然为 true if winObject closed true winObject close 问题是winObject close
  • 带有可选参数的 Groovy 闭包

    我想定义一个带有一个参数的闭包 我用it 有时我想向闭包传递另一个附加参数 我怎样才能做到这一点 您可以将第二个参数设置为默认值 例如 null def cl a b null gt if b null print Passed b the
  • “addEventListener”不适用于 Chrome 扩展程序

    我向窗口添加了一个 addEventListener 但它返回以下错误 未捕获的类型错误 无法在 EventTarget 上执行 addEventListener 需要 2 个参数 但仅存在 1 个 在 window addEventLis
  • 通过 sapply 使用多列作为变量

    我有一个dataframe我想应用一个函数 该函数获取三列的值并计算三个值之间的最小差异 dataset df lt data frame a sample 1 100 10 b sample 1 100 10 c sample 1 100