我有一个带有标签和数字向量的1列矩阵 我想提取矩阵中的标签,这些标签等于该向量中的一个条目,更具体地说:
> mat
[,1]
intercept 20.86636535
crim -0.23802478
zn 0.03822050
indus 0.05135584
chas 2.43504780
> vec
[1] -0.23802478 0.05135584
> mat[2, 1] == vec[1]
crim
FALSE
目前我第一步陷入困境。我不知道为什么它们在保持相同的数值时返回FALSE。
答案 0 :(得分:0)
我使用round(as.numeric(mat[,2, drop=T]), 5) %in% round(vec, 5)
,因为可能存在浮点问题。
这样做会产生:
[1] FALSE TRUE FALSE TRUE FALSE
基本上,您需要将第二列转换为向量(使用drop = T),然后将其从字符转换为数字。舍入(在这种情况下,到5位小数)然后桥接我之前提到的浮点问题(以及David Arenburg)。
我希望能帮助你。