几周前,我问了一个关于如何根据已知标准从矩阵中提取某些行的问题(如何将具有相似名称的行提取到子矩阵中?)。当时收到的答案对应用程序非常有效,但我发现自己需要动态采样行名称并构建后续矩阵的功能,而无需明确确定要提取哪个名称。
例如,我在上一个问题中建立的模型有 6 行“族”:Intercept、actsBreaks、tBreaks 等,它们可以替换为 15+ 个其他潜在的预测变量。手动更改行构造部分很麻烦,我需要避免。
我搞砸了readline(prompt=...)
让用户定义他们希望使用的预测变量系列,但被告知这是一个用户需要能够在一夜之间循环并离开的程序,所以那里没有运气。是否可以修改此代码
uniBreakLines1 <- grep("actsBreaks[0-9]*", rows)
actsBreaks <- matrix1[uniBreakLines1,drop = FALSE]
从矩阵行名称向量中采样而不具体指定使用哪个“系列”?还是我应该使用其他东西?Caret 包看起来很有前途,但我并不精通 r 语法,而且我不确定使用声称主要用于机器学习的东西是否具有此功能。这个问题的答案(Subsetting a matrix by row.names)利用矩阵索引可能有潜力,但是我们不得不再次手动更改子矩阵代码。
TlDr:我需要一种方法来按矩阵中的名称过滤行,而无需输入
uniBreakLines1 <- grep("actsBreaks[0-9]*", rows)
actsBreaks <- matrix1[uniBreakLines1,drop = FALSE]