Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在r中包含列表的数据帧行上基于某些条件对数据帧进行子集_R_Dataframe - Fatal编程技术网

如何在r中包含列表的数据帧行上基于某些条件对数据帧进行子集

如何在r中包含列表的数据帧行上基于某些条件对数据帧进行子集,r,dataframe,R,Dataframe,我有一个dataframe,它在dataframe的每行中包含一个值列表。我想检查一些条件,并基于这些条件,我想子集一个数据帧。例如,在下面的代码中,myDF是我的数据帧。就是 ID Value A c(1000, 2000, 3000) B c(2000, 500, 1000) ID <- c("A", "B") Value <- list( c(1000, 2000, 3000), c(2000, 500, 1000)) myDF <- data.fram

我有一个dataframe,它在dataframe的每行中包含一个值列表。我想检查一些条件,并基于这些条件,我想子集一个数据帧。例如,在下面的代码中,myDF是我的数据帧。就是

ID  Value
A   c(1000, 2000, 3000)
B   c(2000, 500, 1000)


ID <- c("A", "B")
Value  <- list( c(1000, 2000, 3000),  c(2000, 500, 1000))
myDF <- data.frame(ID=ID, Value=cbind(Value))
vec <- c(2000,3000)
##Condition
cnd <- which(myDF$Value[[1]] %in% vec)
这就是你想要的吗

myDF$Value_filtered <- lapply(seq(myDF$Value), function(i) myDF$Value[[i]][which(myDF$Value[[i]] %in% vec)])

myDF$Value\u抱歉,这是一个输入错误。它很好用,这就是我想要的。还有别的办法吗。在r中使用子集函数无法实现这一点。
[[1]]
     ID           Value
2     B 2000, 500, 1000
NA <NA>            NULL

[[2]]
     ID           Value
2     B 2000, 500, 1000
NA <NA>            NULL
     ID  Value
A   c(2000, 3000)
B     2000
myDF$Value_filtered <- lapply(seq(myDF$Value), function(i) myDF$Value[[i]][which(myDF$Value[[i]] %in% vec)])