Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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_Search_Dataframe - Fatal编程技术网

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)