r语言 - 我如何操作我的数据框架,以保持与匹配的行名列?



我有一个77行460列的数据框架。第一列表示标题为"rs_number"的每行的rsID。每个列由一个SNP rsID(例如,rs4751)标记。

我需要将这个数据帧限制为尺寸76 X 76,以反映与变量"RS_number"相同的列名。我的第一个想法是使row.names等于第一列"RS_number",但我不确定如何向前推进,以及如何限制列与行名相同的标识符。

下面是我用来创建数据框架的代码和数据框架的示例:
'''newdf = concatenated[concatenated$RS_number %in% colnames(hours)[3:76],] %>% 
as.data.frame()'''

RS_number rs1 rs2 rs3 rs4 rs10
[,1]  rs1       1.0 0.2 0.3 0.4 NA
[,2]  rs2       0.0 1.0 0.0 NA  0.2
[,3]  rs3       0.2 0.1 1.0 NA  NA
[,4]  rs4       0.0 0.1 0.5 1.0 NA
[,5]  rs5       NA  0.1 NA  0.2 NA
[,6]  rs9       0.5 0.4 0.1 0.0 0.6

我希望我的数据框架只保留那些常见的列和rs_number,包括rs1, rs_2, rs_3, rs_4,并排除rs_5和rs_10。

我们可以使用intersect与'Rs_number'列值和'df1'的列名,然后,将'Rs_number'与相交的元素连接起来以选择列

nm1 <- intersect(df1$Rs_number, names(df1))
df1[c("Rs_number", nm1)]

相关内容

  • 没有找到相关文章

最新更新