我想从列表中删除某些值来创建一个精化的列表。我要删除的所有值都存储在一个名为remove的字符向量中。remove中的值对应于列表的第一列。我运行了以下代码:
refined_list = list
for (i in length(list)){
if (refined_list[i,1] %in% remove){
refined_list = refined_list[-i,]
}
else{
refined_list = refined_list
}
}似乎只有初始化精化列表才会注册。没有错误,但refined_list与list相同。对我来说这是个谜
发布于 2017-03-08 05:56:23
实际上,您似乎并不是在谈论列表,因为列表不能像您提议的那样是子集(即list[, 1])。但是,如果您正在寻找data.frame的解决方案,这里有一个:
# Set up some test data
dd <- data.frame(letters = letters[1:10], stringsAsFactors = FALSE)
remove <- letters[c(1, 4, 6)]
# Shed values that are in remove
dd[!(dd[, 1] %in% remove), 1, drop = FALSE]
#> "b" "c" "e" "g" "h" "i" "j"https://stackoverflow.com/questions/42663307
复制相似问题