R- 找到值的唯一排列

2023-12-26

我希望创建包含两个不同值的向量的所有可能排列,其中我控制每个值的比例。

例如,如果我有一个长度为 3 的向量,并且我想要包含单个 1 的所有可能组合,则我所需的输出是一个如下所示的列表:

list.1 <- list(c(1,0,0), c(0,1,0), c(0,0,1))

相反,如果我想要包含三个 1 的所有可能组合,我想要的输出是一个如下所示的列表:

list.3 <- list(c(1,1,1))

换句话说,模式1 and 0价值观很重要,但一切1s 应被视为与所有其他相同1s.

根据此处和其他地方的搜索,我尝试了几种方法:

expand.grid(0:1, 0:1, 0:1)  # this includes all possible combinations of 1, 2, or 3 ones
permn(c(0,1,1))             # this does not treat the ones as identical (e.g. it produces (0,1,1) twice)
unique(permn(c(0,1,1)))     # this does the job!

因此,使用该函数permn从包装中combinat看起来很有希望。然而,当我将其扩展到我的实际问题时(长度为 20 的向量,其中 50% 为 1,50% 为 0),我遇到了问题:

unique(permn(c(rep(1,10), rep(0, 10))))

# returns the error:
Error in vector("list", gamma(n + 1)) : 
  vector size specified is too large

我的理解是,发生这种情况是因为,在呼吁permn,它会生成一个包含所有可能排列的列表,即使其中许多排列是相同的,而且这个列表对于 R 来说太大了,无法处理。

有人对如何解决这个问题有建议吗?

抱歉,如果之前已经回答过这个问题 - 有很多很多包含相似语言但不同问题的问题,我无法找到满足我需求的解决方案!


这不应该成为破坏交易的因素expand.grid包括所有排列。只需在之后添加一个子集:

combinations <- function(size, choose) {

  d <- do.call("expand.grid", rep(list(0:1), size))
  d[rowSums(d) == choose,]

}

combinations(size=10, choose=3)
#    Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10
# 8     1    1    1    0    0    0    0    0    0     0
# 12    1    1    0    1    0    0    0    0    0     0
# 14    1    0    1    1    0    0    0    0    0     0
# 15    0    1    1    1    0    0    0    0    0     0
# 20    1    1    0    0    1    0    0    0    0     0
# 22    1    0    1    0    1    0    0    0    0     0
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R- 找到值的唯一排列 的相关文章

  • 使用 R 将多个数据帧写入 .csv 文件

    我使用 lapply 将函数应用于多个数据框 data cleaned lt lapply data list shooter cleaning 然后根据主题编号 例如 100 标记列表中每个结果数据帧 names data cleaned
  • 在 R 中执行 read.csv 时未读取所有行

    这是输入文件 http www yourfilelink com get php fid 841283 http www yourfilelink com get php fid 841283 我执行了 options stringsAsF
  • 如何在 R 中创建没有情节的图例?

    这是一个艺术项目 我创建了一个包含 5 种不同颜色的许多点的散点图 我想创建一个与绘图完全分开的图例 因为它不在绘图上 也不在绘图旁边 而是在它自己的窗口中 因此我可以将图例保存为它自己的 pdf 文件 这样我就可以将我的情节和图例分开打印
  • R 热图中的颜色标签(文本)

    我正在尝试在 R 中制作一个热图 其中标签文本是彩色的 以指示数据点来自哪个组 我目前正在使用 heatmap 2 但很乐意使用另一个包 heatmap 2 data matrix data trace none dendrogram no
  • 如何使用 R markdown 和 bookdown 将图形列表和表格列表添加到目录中

    我有一份报告 pdf 输出 我想在附录中添加参考书目 图表列表和表格列表 我希望这三个元素出现在目录中 我添加参考书目通过增加bibliography bibliography bib到我的 yaml 标头 我直接用 LaTex 添加的图形
  • 有人可以解释一下这段代码吗?尤其是“函数x和[[x]]”的作用?

    这是 R 中的代码 我无法理解其作用function x and qdata x 在这行代码中 有人能给我详细解释一下吗 这段代码不是我写的 谢谢 outs lapply names qdata 12 35 function x hist
  • xts 函数不将我的 POSIXct 日期视为适当的基于时间的对象

    我创建了一个包含两列的数据框 gt head data frame Date Rainfall 1 1992 01 06 14 00 00 0 3 2 1992 01 06 15 00 00 0 2 3 1992 01 06 16 00 0
  • 使用 geom_bar 按列中一个特定值的计数对 y 轴进行排序

    想知道如何通过减少猕猴桃的数量来对 y 轴上的簇进行排序 df data frame df data frame matrix df nrow 200 ncol 2 colnames df lt c cluster name df clus
  • 如何从闪亮模块调用闪亮模块?

    如何从闪亮模块中调用闪亮模块并传递第一个模块中的选择 作为一个例子 我编写了一个应用程序来显示星球大战主题dplyr在 DT data 表中 模块StarWars 来自同一数据集的相关电影应显示在另一个子选项卡 模块电影 的另一个 DT d
  • R 因子变量之间的相关性

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

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

    然而 我很好奇 是否可以添加任何特定的图例或将哪个物种对应于观察到的预期绘图中 以分别知道它是哪个圆圈 我目前使用的是一个名为 finches 的假数据集 该包称为 cooccurr 它创建一个 ggplot 对象 我很好奇如何实际编辑它以
  • 在 Ubuntu 上安装软件包需要很长时间

    我之前使用 Windows 作为操作系统 RStudio 用于 Windows 今天切换到 Ubuntu 并再次安装了 R 和 RStudio 当我尝试从 CRAN 安装一些软件包时 仅tidyverse 使用install package
  • 在ggplot2中添加边框或背景以缩放图例guide_colorbar

    我在 ggplot 图中有一个从白色到红色的颜色条 并且白色边框在白色背景上不太明显 有没有办法对图例中的刻度线进行不同的着色或在渐变比例周围添加边框 这是一个最小的例子 df lt data frame x lt rnorm 10 y l
  • R 控制台是我的母语,如何将 R 设置为英语?

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

    我有一个大小为 18000 x 54 的矩阵 我想将其重塑为大小为 54000 x 18 的矩阵 其中初始矩阵的每一行都变成一个有 3 行的矩阵 让我们举个例子 我有一个矩阵如下 a matrix 1 18 nrow 2 ncol 9 by
  • 如何在 sqlSave() 命令中跳过主键?

    我正在尝试使用 RODBC 在 MySQL 数据库中插入 data frame 我正在使用的命令如下 sqlSave channel dbData tablename table name append TRUE safer TRUE fa
  • rmarkdown 中的内部链接不起作用

    我使用 rmarkdown 来渲染 pdf 文档 现在我想在文本中添加内部链接 在帮助页面中降价 http rmarkdown rstudio com authoring pandoc markdown html links 它说内部链接定
  • 下一个和上一个文档

    我正在制作一个图片库 每个图像都有一个 id 当我查看图像时 我想要接下来的 3 个图像和之前的 3 个图像 我怎样才能在 mongodb 查询中得到这个 我认为我可以使用 sort by id 因为这是不可排序的 也许使用mapReduc
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3

随机推荐

  • 使用 VSPE 的 WPF 中的串行端口通信问题

    我开发了一个用于串口通信的wpf应用程序 我使用Windows 7的模拟器VSPE 我可以成功发送和接收数据 我未来的目的是将设备连接到我的 USB 驱动器 我将向我的 USB 发送一个字符串值 并且它会发送回一个字符串作为确认结果 我可以
  • 如何在 PHP 中将数组转换为不带 .= 的列表?

    我有以下数组输出 Array day gt 17 eventContent gt event 1 of 17th eventTitle gt 17th event 1 Array day gt 19 eventContent gt even
  • 如何获取触发ng-change的DOM元素?

    我正在使用 AngularJS 我有几个
  • AWS EC2 实例在开始使用 boto3 后立即停止

    使用 boto3 run instances 实例在 30 秒后自行停止 控制台中的状态转换原因显示 Client InstanceInitiatedShutdown Instance initiated shutdown 可能是什么问题
  • 合并两个不同类型的List

    我将数据从另一个列表添加到列表的对象中 public void MergeLsts List a lstA List b lstB foreach A dataA in lstA foreach B dataB in lstB if dat
  • 获取 Windows 中进程的峰值私有字节值

    ProcessExplorer 以某种方式获取此值并将其显示在每个进程的 性能 选项卡上 如何使用 Win32 API 获取它 解决方案 在 Peak Private Bytes 字段中 Process Explorer 实际上显示 Pro
  • Android 折线图/图形 API

    我需要向我的折线图 图表显示渐进的数字统计数据 请分享您的意见和建议 另请注意 我更喜欢有原生 API rohit AChartEngine 是一个适用于 Android 应用程序的图表库 目前支持以下图表类型 折线图 面积图 散点图 时间
  • WCF 中的“by ref”参数是好是坏?

    我最近看到一个 WCF 服务声明了操作合同by ref论据 我不知道为什么做出这个设计决定 操作无效 但此外 根据我的 WCF 知识 我无法判断这是否是一个好的实践 或者如果这不相关 你怎么认为 然而 根据这篇 Microsoft 文章 W
  • JVM退出后守护线程如何存活?

    我正在阅读有关 Java 的文档setDaemon 方法 当我读到 JVM 不等待守护线程完成就退出时 我感到很困惑 然而 由于守护线程本质上是 JavaThread 它大概依赖在 JVM 上运行来实现其功能 如果 JVM 在守护线程完成之
  • 如何在不引入偏差的情况下生成一个范围内的随机 Rust 整数?

    如何在 Rust 中生成随机骰子 我知道我可以使用rand random 但这需要我想生成一个整数类型的值 使用rand random
  • 向oracle中的现有表添加自动增量主键[重复]

    这个问题在这里已经有答案了 我想向具有数据的现有表添加新的自动增量主列 我怎么做 我首先添加了一列 然后尝试添加一个序列 之后我失去了如何插入该列并将其作为主键 假设你的桌子叫t1你的主键叫做id首先 创建序列 create sequenc
  • Authorization_IdentityNotFound 错误 MS Graph API

    我们的应用程序将执行简单的 User ReadBasic All 功能 据我了解 这些功能不需要管理员权限 使用此处记录的流程 https graph microsoft io en us docs authorization app on
  • 如何通过URL中的ID获取单个资源?

    我有一个网址 例如 http example com page page id http example com page page id 我想知道如何获得page id路由中 url 的一部分 我希望我可以设计一些方法 例如 route
  • 无法弄清楚在 django 开发环境中提供静态图像

    我读了文章 http docs djangoproject com en dev howto static files 以及该主题上的其他人 但仍然无法弄清楚如何显示图像 除非将指向 Web 服务上现有文件的链接硬编码到 html 模板中
  • 在 NSTextView 中替换 NSTextStorage 的正确方法?

    我正在制作一些文本查看器应用程序 目前我需要非常频繁和精确的线路处理能力 所以我想子类化NSTextStorage班级 但我找不到任何方法来设置新的文本存储NSTextView 我能找到的唯一方法是 NSLayoutManager repl
  • 在 libc++ 中使用 double 调用 std::from_chars 时出现编译错误

    我有一个小代码如下 int main double d const char str 26 50 std from chars str str strlen str d std cout lt lt d 此代码在 libstdc 中按预期工
  • 在 Gtk 3 中向 ToolButton 添加图标

    有没有办法将图标添加到 Gtk ToolButton Gtk3 使用 PyGi for Python 以添加到 GTK 3 工具栏 下面是我的代码 self addfile Gtk ToolButton self addfile set l
  • rspec 模拟:验证“应该”方法中的期望?

    我正在尝试使用 rspec 的模拟来设置我可以在 应该 方法中验证的期望 但我不知道如何做到这一点 当我在模拟上调用 should receive 方法时 它before all 方法退出后立即验证预期的调用 这是一个小例子 describ
  • App Engine 标准第二代运行时的 Memcache 替代品

    谷歌已经发布了其通用版本App Engine 标准的第二代运行时 https cloud google com blog products serverless announcing cloud run the newest member
  • R- 找到值的唯一排列

    我希望创建包含两个不同值的向量的所有可能排列 其中我控制每个值的比例 例如 如果我有一个长度为 3 的向量 并且我想要包含单个 1 的所有可能组合 则我所需的输出是一个如下所示的列表 list 1 lt list c 1 0 0 c 0 1