r - 组合错误 : Error in FUN(X[[i]], ...) 的含义:R 中的 n < m

标签 r combn

尝试创建一对元素但出现以下错误:

Error in FUN(X[[i]], ...) : n < m

运行代码后出现错误:

rslt <- lapply(split(my$symbol, my$character), combn, 2, simplify = F)

这里我的 是我的数据框,符号和字符是数据框的列。该数据框包含 26,552 行。在这里我发布了我的一小部分数据。

my:
symbol   character
BHMT    Abruptio Placentae
BHMT    Diabetes Mellitus, Type 2
BHMT    Lymphoma, Non-Hodgkin
BHMT    Neural Tube Defects
BID     Carcinoma, Hepatocellular
BID     Stomach Neoplasms
BIN1    Alzheimer Disease
BIN1    Myopathies, Structural, Congenital
BIN1    Myopathy, Centronuclear, Autosomal Recessive
BIRC5   Lung Neoplasms
BIRC5   Ovarian Neoplasms
BIRC5   Stomach Neoplasms
BIRC6   Neoplasms
BIRC7   Carcinoma, Renal Cell
BLK     Arthritis, Rheumatoid 
BLK     Lupus Erythematosus, Systemic
BLK     Maturity-onset diabetes of the young, type 11

任何帮助表示赞赏。谢谢。

最佳答案

这是元素数量少于“m”的情况之一。一种选择是为小于“m”的 listlength 创建异常(exception)

lapply(split(my$symbol, my$character), function(x)
          if(length(x)>1) {
            combn(x, 2, simplify=FALSE)
           }
           else x)

关于r - 组合错误 : Error in FUN(X[[i]], ...) 的含义:R 中的 n < m,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570399/

相关文章:

r - 如何有效地将 cumprod 应用于 tidyverse 中的所有列

r - 在 R 中对大型、非常稀疏的二元矩阵进行聚类

r - 4 列宽数据框到 3 列长数据框

r - 如何识别输出低于某个阈值的两个变量的哪些组合?

R使用combn和apply

r - 使用combn计算没有重复的列名组合

r - 将组合变量 (combn) 作为向量解除嵌套

r - 如何以 Shiny 的方式加载 csv 文件的文件夹

r - deSolve:无法理解如何使用根函数提前停止 ode 求解器