我有一张我做的ELISA的车牌地图的数据。我试图提取标准(STD)使用哪个()的确切索引,但我总是只得到列索引。我认为1可能表示第一行,但当我重复查找样本索引(SPL)时,仍然只输出列。我做错了什么?
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发布于 2021-03-09 22:29:25
grepl仅适用于向量。使用apply
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 10https://stackoverflow.com/questions/66548558
复制相似问题