R 中按组的组合

2023-12-19

我有一个关于按组组合的问题。

我的迷你样本如下所示:

sample <- data.frame(
  group=c("a","a","a","a","b","b","b"),
  number=c(1,2,3,2,4,5,3)
)

如果我应用以下功能combn对于数据框,它给出了以下结果,这是“数字”列下的所有值的组合,无论该值属于哪个组:

         [,1] [,2]
   [1,]    1    2
   [2,]    1    3
   [3,]    1    2
   [4,]    1    4
   [5,]    1    5
   [6,]    1    3
   [7,]    2    3
   [8,]    2    2
   [9,]    2    4
  [10,]    2    5
  [11,]    2    3
  [12,]    3    2
  [13,]    3    4
  [14,]    3    5
  [15,]    3    3
  [16,]    2    4
  [17,]    2    5
  [18,]    2    3
  [19,]    4    5
  [20,]    4    3
  [21,]    5    3

我用于上述结果的代码如下:

t(combn((sample$number), 2))

但是,我想获得组内的组合结果(即“a”,“b”)。因此,我想要得到的结果应该是这样的:

     [,1] [,2] [,3]
[1,]   a    1    2
[2,]   a    1    3
[3,]   a    1    2
[4,]   a    2    3
[5,]   a    2    2
[6,]   a    3    2
[7,]   b    4    5
[8,]   b    4    3
[9,]   b    5    3

除了组合之外,我还想得到指示的列 群组。


我们可以使用 group by 函数data.table

library(data.table)
setDT(sample)[, {i1 <-  combn(number, 2)
                   list(i1[1,], i1[2,]) }, by =  group]
#    group V1 V2
#1:     a  1  2
#2:     a  1  3
#3:     a  1  2
#4:     a  2  3
#5:     a  2  2
#6:     a  3  2
#7:     b  4  5
#8:     b  4  3
#9:     b  5  3

或者一个紧凑的选择是

setDT(sample)[, transpose(combn(number, 2, FUN = list)), by = group]

或者使用base R

 lst <- by(sample$number, sample$group, FUN = combn, m= 2)
 data.frame(group = rep(unique(as.character(sample$group)), 
                        sapply(lst, ncol)), t(do.call(cbind, lst)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中按组的组合 的相关文章

  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 在for循环中重命名ggplot2图

    我有一个关于在 for 循环中创建 ggplot2 图表 根据迭代重命名它们 然后在网格中排列图表的问题 我想做类似这个虚拟示例的事情 library ggplot2 a c 1 2 3 b c 4 5 6 for i in c 1 5 x
  • 在 R 中将列表列表转换为数据帧:Tidyverse 方式

    我正在寻找将列表列表转换为 R 中的数据帧的 Tidyverse 方法 Create a list of lists a lt seq 1 10 1 b lt seq 1 20 2 Function to calculate the sum
  • 重用 R 中内置的模型

    在 R 中构建模型时 如何保存模型规范以便可以在新数据上重用它 假设我根据历史数据建立逻辑回归 但直到下个月才会有新的观察结果 最好的方法是什么 我考虑过的事情 保存模型对象并在新会话中加载 我知道某些模型可以使用 PMML 导出 但还没有
  • sapply 函数从命名向量中的值填充数据帧的列,需要很长时间。有更快的方法吗?

    这是我正在做的一个例子 x lt c a 2 b 4 c 2 d 9 df lt data frame names c d c a b x是一个命名向量 其值的顺序与它们在中出现的顺序不同df names 我需要在数据框中形成一个新列 该列
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • dplyr 标准评估:summarise_ 以及求和变量的变量名称

    我遇到了很多与我的问题类似的问题 但只解决了我问题的一部分 我使用带有标准评估的 dplyr 来容纳变量名称 这对于管道中的 filter 和 group by 效果很好 但是 为了总结 我无法为我正在求和的指标提供变量名称 一个例子就可以
  • 如何选择独特点

    我是一名 R 程序员新手 我有以下一系列观点 df lt data frame x c 1 2 3 4 y c 6 3 7 5 df lt df gt mutate k 1 df lt df gt full join df by k df
  • R 控制台是我的母语,如何将 R 设置为英语?

    我在 Windows 7 上使用 R 显然 R 不知何故发现了我说英语以外的语言的证据 并且顽固地坚持在控制台中以我自己的语言提供输出 由于多种原因 这是不可取的 我希望 R 是英语 什么有效 我能够使用LANGUAGE en作为 R 控制
  • rmarkdown 中的内部链接不起作用

    我使用 rmarkdown 来渲染 pdf 文档 现在我想在文本中添加内部链接 在帮助页面中降价 http rmarkdown rstudio com authoring pandoc markdown html links 它说内部链接定
  • 将 data.frame 的列中的值替换为另一个 data.frame 中的值

    我的情况是 我有一个数据框 其中有一列填充了整数 1 到 6 我想用更具描述性的标签替换这些整数 这些标签在另一个充当 键 的数据框中提供 V1 V2 1 1 LABEL1 2 2 LABEL2 3 3 LABEL3 4 4 LABEL4
  • r : 直方图上的 ECDF

    在 R 中 与ecdf我可以绘制经验累积分布函数 plot ecdf mydata 与hist我可以绘制数据的直方图 hist mydata 如何在同一图中绘制直方图和 ecdf EDIT 我尝试做类似的东西 https mathemati
  • 在 Shiny 中使用 readlines(prompt = )

    我有一个代码 使用以下方式获取输入readlines prompt 功能 您能告诉我 Shiny 中的哪个输入函数足以将此代码适应 Shiny 应用程序吗 我需要一个交互功能 我无法使用简单的输入selectInput 因为我有很多read
  • 包检查时如何有效处理未压缩的保存?

    在最近开发一个包的过程中 我将数据集包含在data 我的包的文件夹 在我的具体情况下 我有 5 个数据集 所有这些数据集都位于data table格式 尽管我在下面描述的问题仍然存在 如果我将它们保留为data frame 我已将每个人单独
  • glm() 模型的交叉验证

    我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证 我对cv glm 函数在boot包 尽管我已经阅读了很多帮助文件 当我提供以下公式时 library boot cv glm data glmfit K 10 这里
  • R 中 write.table 文件名中的变量

    请帮助我解决一个幼稚的问题 已经用谷歌搜索 并尝试了很多变体 但失败了 如何使用 R 中 write table 的文件名中的变量保存文件 脚本循环遍历 dir 中的文件 应用一些函数 然后将结果保存到具有相同名称但附加结尾的文件中 谢谢
  • 使用 ggplotly(ggplot2 withplotly)时可以去掉注释中的跟踪标签吗?

    使用ggplotly时是否可以删除注释中的跟踪标签 例如 library ggplot2 library plotly g lt ggplot iris aes Sepal Width Sepal Length geom point ann
  • 解释 survreg 中的威布尔参数

    我正在尝试使用从 R 中的 survreg 估计的参数生成逆威布尔分布 我的意思是 对于给定的概率 这将是在 MS Excel 中实现的小型模拟模型中的随机数 返回使用我的参数预计出现故障 的时间 我理解逆威布尔分布的一般形式是 X b l
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x

随机推荐

  • 线程池 - 可能的线程执行顺序问题

    我一直在学习如何使用线程池 但我不确定池中的每个线程是否都正确执行 并且我怀疑有些线程被执行多次 我已将代码削减到最低限度 并一直使用 Debug WriteLine 来尝试弄清楚发生了什么 但这会产生一些奇怪的结果 我的代码如下 基于 不
  • 有人在没有ant的情况下使用webtest吗?

    我想尝试使用 WebTest 最好是来自 Clojure 但我只能找到它作为 Ant 任务公开的功能 似乎有某种 Groovy 接口 这意味着可以从 Ant 之外的任何 JVM 语言使用 但我无法弄清楚 我希望使用 WebTest 作为 可
  • 如何使用java更新Google App Engine中数据存储的字段值

    我在数据存储中创建了一个登录名 种类 在登录内部 我创建了两个字段用户名和密码 当用户更改密码时 我想更新数据存储内的字段值 但是当我使用这段代码时 DatastoreService datastore DatastoreServiceFa
  • Jest不能处理insertAdjacentElement吗?

    我想测试一个非常简单的JS函数 export function displaySpinner const loadingOverlayDOM document createElement DIV const spinner document
  • 过滤流数据以减少噪声,卡尔曼滤波器c#

    我正在将数据从惯性传感器流式传输到 C 应用程序中 数据有点嘈杂 所以我需要添加一个过滤器来平滑它 我有一个卡尔曼滤波器实现 在给定数组时效果很好 但我无法理解如何在恒定数据流上使用它 I have double sensorData th
  • 安装应用程序包装脚本wrap.sh

    Android 提供了一种非常强大的方法来控制应用程序进程启动 它就是所谓的包装脚本 https android googlesource com platform frameworks base master services core
  • 在 Visual Studio 2010 的 C++ 中使用 lapack C 标头时出现错误

    请帮我 我在网上查了好几个小时还是没有找到解决办法 我正在尝试使用 call lapack 函数C 功能 但我一开始就失败了 这是我的代码 include stdafx h include targetver h extern C incl
  • 需要有关在 SQL Server 上使用 SqlBulkCopy 突破极限的建议

    我正在设计一个应用程序 其中一个方面是它应该能够将大量数据接收到 SQL 数据库中 我将数据库结构设计为具有 bigint 标识的单个表 如下所示 CREATE TABLE MainTable id bigint IDENTITY 1 1
  • 在同一包中创建单独的文件夹... [ECLIPSE]

    Eclipse 是否可以在包中创建单独的文件夹 当选择 新建 gt 文件夹 时 我的eclipse版本总是创建一个包 但我希望新文件夹位于旧包中 如何才能实现这一目标 提前致谢 Patrick 如果您没有将代码放入该文件夹中 您可能想要做的
  • 如何在 R 中绘制图例而不绘制符号并且仍然使其很好地对齐?

    我可以创建一个没有绘图符号并且文本本身适合边框的绘图图例吗 例如 在以下代码中 我想要删除的图例文本之前有一个间隙 plot c 1 2 3 c 1 1 1 abline v c 1 5 2 2 5 col c blue red green
  • 区分大小写 Kotlin /ignoreCase

    我试图忽略字符串的大小写敏感性 例如 用户可以输入 巴西 或 巴西 就会触发乐趣 我该如何实施 我是科特林新手 fun questionFour val edittextCountry findViewById
  • 从反应中获取多个输出

    我需要从闪亮的反应组件中获得多个输出 例子 output a output b lt reactive a lt input abc b lt input abc 10 a b 如何完成类似上面的事情 通过它我可以获得两个输出a and b
  • Epub.js - 由于 blob URI,Phonegap 无法工作

    我正在使用 Epub js 库在 Phonegap 项目中渲染 epub 文件 文件被正确获取并解压缩 但如果在 WebView 中运行 屏幕会显示空白 在桌面和 Android 浏览器 Chrome 应用程序 中完美运行 调试 我看到if
  • 选择父菜单应显示子菜单

    我正在开发一个 Wordpress 网站并尝试显示我的菜单 如图所示 如何在选择父菜单时显示子菜单 您可以像这样创建带有辅助嵌套的主要顶部链接 ul class primary li Tutorial li ul class seconda
  • SQL 效率:WHERE IN 子查询与 JOIN then GROUP

    例如 我想获取应用了某些标签的所有项目的列表 我可以执行以下任一操作 SELECT Item ID Item Name FROM Item WHERE Item ID IN SELECT ItemTag ItemID FROM ItemTa
  • NSData 到 NSString 转换问题!

    我收到一个 NSData 的 html 文件 需要解析它以提取一些信息 我的方法是将其转换为带有UTF8编码的NSString html有非英语字符 例如俄语 它失败了 我用过类似的东西 NSString respData NSString
  • 我们有什么钩子可以在应用程序退出时终止工作线程

    我正在从应用程序的 主 线程生成新的工作线程 只要应用程序处于活动状态 这些线程就不断需要执行某些操作 而且 当应用程序退出时 我确实希望正确清理所有工作线程 无论这意味着什么 为了做到这一点 生命周期方法是唯一的地方吗 应用程序退出时是否
  • 将快捷方式绑定到命令面板命令?

    我刚刚安装了一个名为 CodeSniffer http soulbroken co uk code sublimephpcs 的插件 我想将命令面板中的其中一个命令链接到键盘快捷键 因为我经常使用它 有什么简单的方法可以做到这一点吗 或者我
  • Kendo UI Dropdown,使下拉面板比控件更宽

    在 Kendo UI Dropdown 中 是否可以使下拉面板比控件更宽 另一种可能的方法 var dropdownlist titles data kendoDropDownList set width of the drop down
  • R 中按组的组合

    我有一个关于按组组合的问题 我的迷你样本如下所示 sample lt data frame group c a a a a b b b number c 1 2 3 2 4 5 3 如果我应用以下功能combn对于数据框 它给出了以下结果