R.从DF A中获取其第一行与DF B元素匹配的列

卢卡斯:

我有一个没有像这样的列名的数据框A(实际的一个有1808列和〜1300000行):

一个

1    1    2    2    6    6    13    13    16    16
0    0    1    0    2    1    0    1    1    0
0    1    2    0    1    2    0    1    0    0
1    1    1    0    1    1    0    2    2    1

我还有一个只有一列的数据框B(实际的列有407行),其中观察值是A的第1行的子集:

2
13
16

我想获得一个数据框C,其中A中的列与B中的观察值匹配。我会得到:

一个

2    2    13    13    16    16
1    0    0    1    1    0
2    0    0    1    0    0
1    0    0    2    2    1
鸭 :

试试这个base R方案。您可以which()用来检测所需的值,然后可以按列进行选择。如果要使用第一行,并且要A使用作为列A[1,]的值,B则可以使用B[,1,drop=T]这里的代码:

#Code
A[,which(A[1,] %in% B[,1,drop=T])]

输出:

  V3 V4 V7 V8 V9 V10
1  2  2 13 13 16  16
2  1  0  0  1  1   0
3  2  0  0  1  0   0
4  1  0  0  2  2   1

使用了一些数据:

#Data 1
A <- structure(list(V1 = c(1L, 0L, 0L, 1L), V2 = c(1L, 0L, 1L, 1L), 
    V3 = c(2L, 1L, 2L, 1L), V4 = c(2L, 0L, 0L, 0L), V5 = c(6L, 
    2L, 1L, 1L), V6 = c(6L, 1L, 2L, 1L), V7 = c(13L, 0L, 0L, 
    0L), V8 = c(13L, 1L, 1L, 2L), V9 = c(16L, 1L, 0L, 2L), V10 = c(16L, 
    0L, 0L, 1L)), class = "data.frame", row.names = c(NA, -4L
))

#Data 2
B <- structure(list(V1 = c(2L, 13L, 16L)), class = "data.frame", row.names = c(NA, 
-3L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

独立于顺序汇总 R Data Frame 中的列,(df$A,df$B) = (df$B,df$A)

在R中:从2个DF列中订购值以按比例用于每一行

根据R中DF中匹配的行值获取列名

R:如何用df中第一行的值替换组中的所有行

如何过滤元素的每个实例在另一列(同一行)中的值> x的df?R

如果存在于其他 df R 中,则创建第一列 df

将列标题变成我的 df 的第一行

在R中将每一行作为一列转置df

部分匹配字符串以删除 R 中的 df 列

熊猫在df1中找到每一行,其中df2与任一列匹配

根据R中df1和df2之间的匹配在df1中添加新列

匹配另一个df的R数据帧的每一行中的编号,并在匹配的编号之前添加一个字母

如何将df1中多列中的元素与R中array1中的值进行匹配?

R - 基于在 df 中搜索向量元素创建新列

根据 R 中 DF 中匹配的行值获取列名(超过 3 个列名)

如何从python中的df减去(最后一列,最后一行)减去(最后一列,第一行)

从 df2 中的 df1 中识别元素,然后在那些使用 R 重合的行中添加 df2 中的列

将df列除以R中的同一列,但保留df.column.names

尝试将df1中的每一行与df1中的其他多行匹配

Pandas:df['A'] == df['B'] 或 df['B'] == [] 的行数

Python将数据从1个df复制到其他df中的第一个匹配行

R:如何在依赖于前一行的 DF 中填写值

寻找将 R df 中的一行拆分为多行的建议

熊猫通过不同的DF唯一均值划分DF列的唯一行

对于DF中的每一行,检查向量中是否有匹配项

R:在遍历df元素时获取索引名称

从列表中的多个df中提取每个ID元素,然后创建新的df,以显示ID是r中列表中一部分的每个df

R:用字符串匹配将特定列的行除以 df2 的列

R中两个DF的匹配/对齐列