簡體   English   中英

在R中,如何通過另一個數據框的列名刪除數據框中的行?

[英]In R, how do I delete rows in a data frame by column names of another data frame?

我有一個數據幀(df1),其中包含超過200列包含數據(每行數千行)。 列名是字母數字,並且彼此不同。

我有第二個數據集(df2),其中有幾列,其中第一列(名為'col1')包含帶有“值”的行,其中包含df1的共同名稱。

但是對於df2中的每一行都沒有,我在df1中有一個相應的列。

現在我想刪除(刪除)df2中df1中沒有“對應”列的所有行。

我搜索了很長一段時間,使用了像“來自另一個data.frame的值的子集data.frame”這樣的關鍵字,但沒有找到任何解決方案。 我檢查過,例如這里這里這里以及其他一些地方。

謝謝你的幫助。

數據:

df1 <- data.frame(a = 1:3, b = 1:3)
#   a b
# 1 1 1
# 2 2 2
# 3 3 3

df2 <- data.frame(col1 = c("a", "c"))
#   col1
# 1    a
# 2    c

保留df2的行,其值為df1中的名稱:

subset(df2, col1 %in% names(df1))
#   col1
# 1    a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM