全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
13329 7
2018-05-30
求助,如何在矩阵中定位指定值的位置并且返回其位置
1527659424(1).png
例如上图,我如何可以查到8,4,6 的位置并且返回为【3,6,7】
试过which,好像单独一个一个可以,但是对于几个数字构成的数据集就不行就不行
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-5-30 15:14:16
题目描述不太完整,矩阵中的位置不可能只有一个值,你是指在A列的位置?假如有重复值,你需要返回多个位置吗?其实你用which的思路是对的,如果你想多个一起,再加个lapply就好。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 15:45:14
zerofung 发表于 2018-5-30 15:14
题目描述不太完整,矩阵中的位置不可能只有一个值,你是指在A列的位置?假如有重复值,你需要返回多个位置吗 ...
谢谢,能具体一点吗,我就是只查找在A列的位置
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 16:22:51
library(dplyr)
data=data.frame(v1=c(4,6,7,8))
data$ind=rownames(data)
# find 6,7 return row 2,3
data%>%filter(v1 %in% c(6,7))%>%select(ind)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-31 14:55:51
循环函数:
lapply:用途,有一个对象列表,遍历这个对象列表,对列表的每个元素运用函数
sapply:是lapply的一个变体,简化了lapply()的结果
apply:对数组进行行或列运算的函数,对矩阵和高维数组做总结
tapply:table apply()的缩写,将函数应用于向量的子集
mapply:是lapply的多变量版本
split:不对对象做任何操作,将对象分成子块,和lapply,sapply结合使用
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-18 23:00:23
wei_zhi<-function(x,data){
s<-c(t(data))
n<-dim(data)
m<-which(s==x)
row<-m%/%n[2]+1
col<-m-m%/%n[2]*n[2]
list(row=row,col=col)}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群