R-查找数据帧中字符串的每个位置
我有一个如下所示的数据框:R-查找数据帧中字符串的每个位置,r,search,dataframe,R,Search,Dataframe,我有一个如下所示的数据框: a <- c("jan", "mar", "jan", "feb", "feb") b <- c("feb", "mar", "mar", "jan", "mar") c <- c("jan", "feb", "feb", "jan", "jan") d <- c("jan", "mar", "jan", "feb", "feb") e <- c("feb", "jan", "feb", "mar", "mar") f <- c("
a <- c("jan", "mar", "jan", "feb", "feb")
b <- c("feb", "mar", "mar", "jan", "mar")
c <- c("jan", "feb", "feb", "jan", "jan")
d <- c("jan", "mar", "jan", "feb", "feb")
e <- c("feb", "jan", "feb", "mar", "mar")
f <- c("jan", "feb", "feb", "jan", "jan")
xxx <- data.frame(a,b,c,d,e,f)
xxx
a函数which
有一个名为arr.ind
的参数,它将为您提供一个2列矩阵,指示每个匹配的位置
which(xxx == "jan", arr.ind=TRUE)
row col
[1,] 1 1
[2,] 3 1
[3,] 4 2
[4,] 1 3
[5,] 4 3
[6,] 5 3
[7,] 1 4
[8,] 3 4
[9,] 2 5
[10,] 1 6
[11,] 4 6
[12,] 5 6
首先,要测试的字符串集可以通过以下方式获得:
mnths <- unique(c(t(xxx)))
伙计,我很高兴我问了!这正是我需要的。非常感谢,很好。我知道这适用于矩阵,但对数据帧不太自信。@BondedDust-=
在调用之前将数据帧转换为逻辑矩阵。因此,如果数据帧列具有不同的模式,会发生什么情况?那么,无论哪种方式,矩阵都会成为逻辑矩阵。但我认为,在这之前,它必须全部转化为角色,至少我认为是这样
which(xxx == mnths[1], arr.ind = TRUE)