从列表中删除与R

时间:2018-11-13 09:29:12

标签: r list dataframe

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

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`

1 个答案:

答案 0 :(得分:1)

示例输入内容不是很清楚,我假设您的意思是名称为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