关于R中的数据帧的问题。我想从数据帧中提取一行,以及它在原始数据帧中的位置(行号)。该想法是创建新的数据帧,其包括从先前数据帧提取的行信息,以及来自先前数据帧的行位置。
patchLocalNo <- patchList[which(patchListTop5$sensitivity == patchLocalSpec),]
我想要做的是从patchList获取满足条件的行号,并将它们添加到patchLocalNo中的列。
提前感谢您,我已经在线搜索并询问了同事,而我所能想到的只是在perl中对数据进行预处理。
答案 0 :(得分:9)
我想你已回答了自己的问题。
其中的结果()是一个包含要提取的行号的向量。
df <- data.frame(x = runif(20))
w <- which(df$x > 0.9)
w
[1] 9 11 14 16 20
data.frame(which=w, df=df[w, ])
which df
1 9 0.9437138
2 11 0.9995509
3 14 0.9237888
4 16 0.9526003
5 20 0.9191727
答案 1 :(得分:1)
您可以使用一行或两行代码执行此操作:
rNo <- as.integer(rownames(patchList[which(patchListTop5$sensitivity == patchLocalSpec),]))
patchLocalNo <- cbind(patchLocalNo[rNames,], rNo)