r中与引用某些对象相关的data.table错误
我有下面的例子r中与引用某些对象相关的data.table错误,r,data.table,R,Data.table,我有下面的例子 a <- c("a","b","c","d","e","f") b <- 1:6 c <- c("a","E","D","C","B","A") d <- 10:15 dt1 <- data.table("ID" = b,"code_a" = a,"code_c" = c, "code_d" = d) dt2 <- data.table("ID" = b, "code_c" = c, "code_d" = d ) dt3 <- data
a <- c("a","b","c","d","e","f")
b <- 1:6
c <- c("a","E","D","C","B","A")
d <- 10:15
dt1 <- data.table("ID" = b,"code_a" = a,"code_c" = c, "code_d" = d)
dt2 <- data.table("ID" = b, "code_c" = c, "code_d" = d )
dt3 <- data.table("ID" = b, "code_d" = d)
merged_list <- list(dt1,dt2,dt3)
output <- merged_list[[1]][merged_list[[1]][,2] != merged_list[[1]][,3]]
因为只有第一行的
code\u a
等于code\u c
,所以被删除。谢谢你的帮助。我在这里的主要目标是不要使用$code\u a
,因为我不能将它放入一个for循环,它会给我code\u a
、code\u b
、code\u c
等。非常感谢对我做错的事情以及如何解决这个问题的任何帮助。很抱歉,我的标题没有提供信息,我不太清楚这类问题是什么。是的,因为错误消息表明比较返回一个矩阵
merged_list[[1]][,2] != merged_list[[1]][,3]
# code_a
#[1,] FALSE
#[2,] TRUE
#[3,] TRUE
#[4,] TRUE
#[5,] TRUE
#[6,] TRUE
class(merged_list[[1]][,2] != merged_list[[1]][,3])
#[1] "matrix"
把它变成一个向量,它就会起作用
merged_list[[1]][c(merged_list[[1]][,2] != merged_list[[1]][,3])]
# ID code_a code_c code_d
#1: 2 b E 11
#2: 3 c D 12
#3: 4 d C 13
#4: 5 e B 14
#5: 6 f A 15
谢谢你的回答,这正是我想要的。我还有一个问题要问。如果我让
z@Kazusa12345您需要添加with=FALSE
,请执行merged_list[[z][,(4-z),with=FALSE]
merged_list[[1]][c(merged_list[[1]][,2] != merged_list[[1]][,3])]
# ID code_a code_c code_d
#1: 2 b E 11
#2: 3 c D 12
#3: 4 d C 13
#4: 5 e B 14
#5: 6 f A 15