问题标签 [combn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R:将数据帧拆分为 n 个分区并在所有可能的分区组合中重新组合它们
我有 6 列的数据框,我想将它们分成 3 部分,每部分有 2 列。我想以所有可能的组合重新组合分区以创建 7 个新数据帧
我稍微修改了这个解决方案以重新组合它们将数据帧拆分为所有可能的数据帧组合,在 R 中按 3 列
这将通过改组所有列来创建所有组合。我不想要列的组合,而是分区的组合。我怎样才能做到这一点?
r - 将数字向量相加的所有组合
鉴于我有向量和目标编号
target.mountain <- 10
Roll_dice <- sample(1:6, 4, replace=TRUE)
以Roll_dice
生产
[1] 6, 5, 3, 2
为例
如何通过将列表中的 2、3 或 4 个值组合在一起来生成所有数字的列表以及将Roll_dice
它们加在一起的所有方法Roll_dice
例如[1] 2, 3, 5, 5, 6, 7, 11, ....
r - 如何将 combn() 函数应用于列表类型的列?
我有一个包含 3 列的数据框,其中一列是列表类型
说第 1 行(order_id 2)的列表是 [a,b,c]
我想使用 combn 函数(也许?)创建一个新列,它将仅包含该行列表的所有对组合,所以 [[a,b],[b,c],[a,c]]
我在 SO 上遇到的所有使用 combn 的示例都将数据框中的每个列表组合在一起,并将整个列表配对。任何帮助,将不胜感激。谢谢!
r - 在 R 中使用 combn() 查找所有可能的 t 检验关系,如何访问比较的变量?
所以,我有一个包含大量变量的 DataFrame,我想用 t 检验交叉检查每个变量与其他变量。
我的数据样本,称为trust_news
:
排 | 意思是 | 政体2 | 网络 | 无国界医生 | 公民权利 | 表达自由 | vdem_gov_censorship_effort | vdem_self_censorship_effort | vdem_freedom_of_expression | ciri_freedom_of_speech_and_press | 媒体完整性 | vdem_critical_press | vdem_media_perspective | vdem_media_bias | vdem_media_corruption | vdem_media_freedom |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2.68 | 8 | 87.2661 | 25.69 | 0.785599008 | 0.758906967 | 0.731895466 | 0.742219428 | 1 | 1 | 0.81449235 | 0.889046047 | 0.782079459 | 0.693825991 | 0.733503755 | 1 |
2 | 2.8 | 8 | 94.8967 | 22.23 | 0.810742702 | 0.832891911 | 0.8447733 | 0.831499528 | 1 | 1 | 0.88417386 | 0.868772592 | 0.881994928 | 0.835622928 | 0.828566864 | 1 |
3 | 3.22 | 10 | 89.7391 | 14.6 | 0.821268417 | 0.83327835 | 0.883343829 | 0.805721471 | 1 | 1 | 0.829951651 | 0.917491749 | 0.725950972 | 0.709774199 | 0.874261064 | 1 |
5 | 2.96 | 10 | 74.3872 | 24.98 | 0.813949794 | 0.781986225 | 0.844615869 | 0.729330399 | 0.666666667 | 0.5 | 0.878769429 | 0.872387239 | 0.919019442 | 0.841939049 | 0.810193322 | 0.5 |
然后,我在上面运行这段代码:
首先,代码是否正确?我不知道m
在combn()
函数中放什么。AAnyway,那条线给了我这个:
V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | V12 | V13 | V14 | V15 | V16 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | c(t = 85.1670166474227) | c(t = 15.9614095646055) | c(t = 29.2365516170159) | c(t = 11.0778062107689) | c(t = 30.4673329981756) | c(t = 26.8521522144486) | c(t = 23.160185720972) | c(t = 25.1063414199952) | c(t = 17.1830959329723) | c(t = 11.06502519693) | c(t = 33.0841916129404) | c(t = 29.3707961673045) | c(t = 31.2455551028106) | c(t = 39.1490231250879) | c(t = 27.6089179039943) | c(t = 14.0719508946058) | ||||||||||||||||
2 | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | c(df = 32) | ||||||||||||||||
3 | 2.69E-39 | 8.55E-17 | 1.18E-24 | 1.75E-12 | 3.29E-25 | 1.61E-23 | 1.46E-21 | 1.26E-22 | 1.03E-17 | 1.80E-12 | 2.55E-26 | 1.02E-24 | 1.51E-25 | 1.32E-28 | 6.88E-24 | 2.96E-15 | ||||||||||||||||
4 | c(3.00189912275063 | 3.14900996815846) | c(7.56066019283154 | 9.77267314050179) | c(73.5097801046279 | 84.5198259559781) | c(19.628297122971 | 28.4729149982411) | c(0.682586494865725 | 0.780396107679729) | c(0.639468676034051 | 0.744449016935646) | c(0.664192511270674 | 0.792289818305084) | c(0.665160025455844 | 0.782621785210823) | c(0.676674167771883 | 0.858679367682662) | c(0.543941635486123 | 0.78939169784721) | c(0.739756992152986 | 0.836824222392469) | c(0.730937293702635 | 0.839876930600395) | c(0.729509614919607 | 0.831257822777363) | c(0.709894349786553 | 0.787820841122538) | c(0.708427672557418 | 0.821287114048642) | c(0.647915673315896 | 0.867235841835619) |
5 | c( mean of x = 3.07545454545455) |
c( mean of x =8.66666666666667) |
c( mean of x =79.014803030303) |
c( mean of x =24.0506060606061) |
c( mean of x = 0.731491301272727) |
c( mean of x = 0.691958846484849) |
c( mean of x = 0.728241164787879) |
c( mean of x =0.723890905333333) |
c( mean of x = 0.767676767727273) |
c( mean of x = 0.666666666666667) |
c( mean of x =0.788290607272727) |
c( mean of x = 0.785407112151515) |
c( mean of x =0.780383718848485) |
c( mean of x = 0.748857595454545) |
c( mean of x = 0.76485739330303) |
c( mean of x =0.757575757575758) |
||||||||||||||||
6 | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | c(平均值 = 0) | ||||||||||||||||
7 | 0.036110864 | 0.542976272 | 2.702603374 | 2.171062176 | 0.024009036 | 0.025769214 | 0.031443667 | 0.028832991 | 0.044676278 | 0.0602499 | 0.023826806 | 0.02674109 | 0.024975831 | 0.019128385 | 0.027703273 | 0.053835873 | ||||||||||||||||
8 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | 双面 | ||||||||||||||||
9 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | 一个样本 t 检验 | ||||||||||||||||
10 | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] | x[a] |
它为我提供了我在第 3 行中寻找的 p 值,但我如何检查正在检查哪两列?
任何帮助表示赞赏,并将在我的最终代码中表示感谢!
r - 在 R 的单个列中生成一个元素与所有其他元素的所有组合
假设我有一个包含字母 a、b、c、d、e 的单列数据框。
在 R 中,是否可以提取单个字母,例如“a”,并在“a”和其他字母之间产生所有可能的配对组合(没有重复)?combn
在这种情况下可以使用命令吗?
r - 有效地找到 R 中两个时间间隔之间的重叠
我曾经使用包combn()
来查找两个日期/时间之间的重叠。但是处理我正在处理的大型数据集太慢了。我试图从包中使用,但我无法让它工作。任何帮助,将不胜感激。如果您知道我应该查看的任何其他包/功能,请也告诉我。lubridate
combn()
comboGeneral()
RcppAlgos
这是我使用comboGeneral()
.
这是数据集:
更新:
感谢您迄今为止提出的所有重要建议!我使用我写得不好的函数做了一些基准测试。如果你能帮助进一步改进它,那就太好了。我将根据反馈再次更新此内容。
请注意,comboIter
我在其中包含了一种从对象comboIter_vector
中提取值的机制。C++ object
我想找出comboIter()
.
这是代码:
r - 在函数内: chisq.test(tbl) 中的错误:“x”的至少一个条目必须是正数
我正在尝试查看许多分类变量的相互作用。我正在尝试收集 P 值。我发现这里的代码似乎与我想要做的类似,但我似乎无法让代码与我的数据一起正常运行。
我梳理我的数据首先查看变量并列出每个可能的变量组合。但是当我尝试使用该函数并将其应用于每个变量组合时,它会在代码的 chisq.test 部分中引发错误,因此永远不会创建 df_res。
catOnly.test 包含类似(除最后两个之外的所有分类)的数据。
有什么建议么?
r - 在 df 中按组汇总的 5 个变量的行查找最常见的对
我试图在 5 个变量中找到最常见的对,与这个问题非常相似。主要区别是我还有一个变量,我想将它们分组。
我想要的输出如下所示:
我还没有很好地掌握将 combn 函数与 group_by 和 dplyr mutate 一起使用来完成这项工作。任何帮助,将不胜感激。
r - 在 R 中获得所有治疗和控制的组合
我正在使用 R 中的 combn 函数来查找 R 中的处理和控制的组合,但是此函数不考虑顺序。
是否有另一个类似于 combn 的函数可以解释不同顺序的组合?
我希望最终能做到这一点
IE
....(应该有 20 组合 6 选择 3)
r - R - 错误消息是什么意思,创建阶乘
我想在一组 20 种疾病(因子)中找到 3 种疾病的独特组合的总数,然后用平均值和 SD 绘制患病率,按年龄组交叉制表。我有一个来自 reprex 的代码,但是当应用于 csv 时(列以相同的顺序出现,但更多的可变疾病因此更宽 df)它会引发错误消息(如下)。csv和reprex有什么区别?(Reprex 就在底部)。
代码:
安慰:
错误:必须分配给具有有效下标向量的行。x 下标合并症的类型错误 tbl_dfUniquePatientID:double。:information_source: 它必须是逻辑、数字或字符。运行 rlang::last_error() 以查看错误发生的位置。
错误:必须使用有效的下标向量对列进行子集化。x 下标 make_comb(x) 的类型错误 tbl_dfUniquePatientID:double。:information_source: 它必须是逻辑、数字或字符。运行 rlang::last_error() 以查看错误发生的位置。> show_result(2) 错误:必须使用有效的下标向量对列进行子集化。x 下标 make_comb(x) 的类型错误 tbl_dfUniquePatientID:double。:information_source: 它必须是逻辑、数字或字符。运行 rlang::last_error() 以查看错误发生的位置。> apply(cases, 2, show_result) 错误:必须使用有效的下标向量子集列。x 下标 case[, x] 必须是简单向量,而不是矩阵。运行 rlang::last_error() 以查看错误发生的位置。
上面的代码工作的代表: