0
我在下面的方式在矩陣數據:比賽中列有R
label 1 2 3 4
id_101 10 30 43 32
id_102 3 32 43 43
id_111 45 34 22 66
id_201 87 65 66 34
id_202 45 76 76 44
......
這個數據已經轉化列表中的所以它是這樣的:
[[1]]
[1] label 1 2
[3] 3 4
[[2]]
[1] id_101 .....
......
我要的是知道值a是否匹配來自名爲標籤的列中的一個值。爲此目的,我使用的是與比賽指令循環:
a<-"id_201" ///for example
for (pos in 2:length(matrix))
{
if (!is.na(match(a,tabd[[pos]][[1]])))
{
found<-1
print(found)
break
}
}
if (found) print(pos)
我想知道如果有是看如果從可變一個值下標籤相匹配的列的任何價值的有效途徑並獲得它的位置,但不使用for循環。 謝謝
'lapply(tabd,'[',1)'會給你每個列表中第一個元素的值。 'unlist(lapply(tabd,'[',1))== a'給出了匹配的布爾向量。不過,我認爲您的初始轉換步驟可能會得到改進,因爲它看起來像數據在第2列5中,而第一列是標籤... – Justin
感謝您的建議,我已修復 – Layla