![](/img/trans.png)
[英]Using lapply()-function to find the mean of every row in data frame in R
[英]R - Find every location of a string in a data frame
我有一个如下所示的数据框:
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
我需要在字符串的每个实例的xxx中找到位置,比如说“jan”。 我可以看到运行df中每个插槽的hacky解决方案,并检查它是否==“jan”,但肯定有一个正确而简单的方法。 理想情况下,我想将结果作为坐标列表返回。
感谢您的任何帮助!
功能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)))
然后,例如对于第一个元素“jan”,实例的位置可以通过以下方式给出:
which(xxx == mnths[1], arr.ind = TRUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.