首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dataframe中提取行/列索引

在dataframe中提取行/列索引
EN

Stack Overflow用户
提问于 2021-03-09 22:14:24
回答 1查看 14关注 0票数 1

我有一张我做的ELISA的车牌地图的数据。我试图提取标准(STD)使用哪个()的确切索引,但我总是只得到列索引。我认为1可能表示第一行,但当我重复查找样本索引(SPL)时,仍然只输出列。我做错了什么?

代码语言:javascript
复制
plate.map <- structure(list(`1` = c("BLK", "SPL1", "SPL2", "SPL3", "SPL4", 
"SPL5", "SPL6", "SPL7"), `2` = c("BLK", "SPL8", "SPL9", "SPL10", 
"SPL11", "SPL12", "SPL13", "SPL14"), `3` = c("STD1", "SPL15", 
"SPL16", "SPL17", "SPL18", "SPL19", "SPL20", "SPL21"), `4` = c("STD2", 
"SPL22", "SPL23", "SPL24", "SPL25", "SPL26", "SPL27", "SPL28"
), `5` = c("STD3", "SPL29", "SPL30", "SPL31", "SPL32", "SPL33", 
"SPL34", "SPL35"), `6` = c("STD4", "SPL36", "SPL37", "SPL38", 
"SPL39", "SPL40", "SPL41", "SPL42"), `7` = c("STD5", "SPL43", 
"SPL44", "SPL45", "SPL46", "SPL47", "SPL48", "SPL49"), `8` = c("STD6", 
"SPL50", "SPL51", "SPL52", "SPL53", "SPL54", "SPL55", "SPL56"
), `9` = c("STD7", "SPL57", "SPL58", "SPL59", "SPL60", "SPL61", 
"SPL62", "SPL63"), `10` = c("STD8", "SPL64", "SPL65", "SPL66", 
"SPL67", "SPL68", "SPL69", "SPL70"), `11` = c("PosCtrl", "SPL71", 
"SPL72", "SPL73", "SPL74", "SPL75", "SPL76", "SPL77"), `12` = c("PosCtrl", 
"SPL78", "SPL79", "SPL80", "SPL81", "SPL82", "SPL83", "SPL84"
)), row.names = c("A", "B", "C", "D", "E", "F", "G", "H"), class = "data.frame")

which(grepl("STD", plate.map), arr.ind = TRUE)
#[1]  3  4  5  6  7  8  9 10

which(grepl("SPL", plate.map), arr.ind = TRUE)
[1]  1  2  3  4  5  6  7  8  9 10 11 12
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-09 22:29:25

grepl仅适用于向量。使用apply

代码语言:javascript
复制
which(apply(plate.map, 2, grepl, pattern="STD"), arr.ind = TRUE)
#  row col
#A   1   3
#A   1   4
#A   1   5
#A   1   6
#A   1   7
#A   1   8
#A   1   9
#A   1  10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66548558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档