首页 > 解决方案 > 从列表中删除与 R 中数据框中的列匹配的数据框

问题描述

我有一个数据框列表。我想从单独的数据框中的列中删除一些与条目不匹配的数据框。示例代码如下。

my.list <- list(1.1,1.2,1.3,1.4,1.5)
df <- data.frame(ID = c(1.1,1.3,1.5))

我想根据我在 df 中的任何 ID 从 my.list 中删除数据帧。所以在这种情况下,输出应该看起来像

my.list
$`1.1`
...
$`1.3`
...
$`1.5`

标签: rlistdataframe

解决方案


示例输入不是很清楚,我假设您的意思是名称为 1.1、1.2 等的数据框列表请参见示例:

# list of dataframes example, here we just have 1 to 5,
# in your case this would be 5 dataframes.
my.list <- as.list(1:5)
names(my.list) <- as.character(c(1.1,1.2,1.3,1.4,1.5))
my.list
# $`1.1`
# [1] 1
# 
# $`1.2`
# [1] 2
# 
# $`1.3`
# [1] 3
# 
# $`1.4`
# [1] 4
# 
# $`1.5`
# [1] 5

df <- data.frame(ID = c(1.1,1.3,1.5))

my.list[ as.character(df$ID) ]
# $`1.1`
# [1] 1
# 
# $`1.3`
# [1] 3
# 
# $`1.5`
# [1] 5

推荐阅读