r - 如何使用索引字符串从 R 中的数据帧或矩阵中提取行

标签 r

我有以下字符串:“1,34:36,52:58,22:28,82:88,101:102,104:153,120:254,315:368,489:nrow(df)”。是否有某种方法使用此字符串来提取与字符串中的数字相对应的数据帧 (df) 的行。

我尝试过使用 evalget 的组合,但这些不起作用,并且怀疑它们是否是正确的路线。

示例数据框:

df <- as.data.frame( matrix(rnorm(5000), nrow=500,ncol=10) )

最佳答案

您可以结合使用evalparse:

df <- as.data.frame( matrix(rnorm(5000), nrow=500,ncol=10) )
a <- "1,34:36,52:58,22:28,82:88,101:102,104:153,120:254,315:368,489:nrow(df)"

index <- unlist(lapply(strsplit(a, ",")[[1]], function(x)eval(parse(text=x))))
index
#  [1]   1  34  35  36  52  53  54 ...
#[253] .... 494 495 496 497 498 499 500

关于r - 如何使用索引字符串从 R 中的数据帧或矩阵中提取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871147/

相关文章:

xml - R中的属性值错误中不允许未转义的 '<'

r - 如何使用 tidyverse 堆叠多列

math - 计算机绘图实用程序

r - ggplot2:绘制具有不同截距但具有相同斜率的回归线

r - 如何从代码块内部呈现 Markdown ?

geom_text 在 ggplot2 中的相对定位?

R 插入符/混淆矩阵

r - Shiny :如何更改列的背景色?

r - 如何随机采样具有唯一列值的数据帧行

javascript - 将 onRender() 函数中创建的对象保存在 htmlWidgets 中