我正在尝试使用逻辑向量以特定的方式从数据集中提取某些行:
Logical.vector <- df %in% df[df$a=='ABC123',]
Logical.vector
-----------------------------------------
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE从数据帧(df)中提取多行数据( "subdataframe"),并具有下一个维度:( df[df$a=='ABC123',] multiple with ):
ndim(df)
---------------------------------------
[1] 4226 11为什么我的代码没有得到成功的结果?通过哪种方式可以获得数据帧各行的逻辑向量?提前谢谢你!
发布于 2021-04-19 06:05:10
原因是%in%在vector上工作,而不是在list或data.frame上工作。为此,我们需要== (但这只适用于单个元素)。如果我们想使用%in%,那么将每一行paste成一个单独的字符串
i1 <- do.call(paste, c(df, sep=", ")) %in%
do.call(paste, c(df[df$a=='ABC123',], sep=", "))https://stackoverflow.com/questions/67153788
复制相似问题