全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3349 6
2020-12-14
da<-as.data.frame(matrix(c(1:20),nrow=4,ncol=5))
rownames(da)<-c('A','G','C','T')
colnames(da)<-c('a','b','c','d','e')
da[1,4]<-1
result<-t(sapply(seq(nrow(da)),function(i){
  j<-which(da[i,]== min(da[i,]), arr.ind = TRUE)
  for (k in 1:dim(j)[1])
  {c(paste(rownames(da)[i],colnames(da)[j[k,2]],sep='\t'),da[i,j[k,2]])
  }
  }))
求助各位大佬,,,想寻找dataframe中每一列的最小值,并返回其坐标信息。在for 循环里面打印输出结果是正确的,但是result中是一个空的matrix。这是怎么回事?求各位大佬解答一下

二维码

扫码加我 拉你入群

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

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

全部回复
2020-12-15 01:51:02
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2020-12-15 08:10:52
https://bbs.pinggu.org/thread-6408039-1-1.html
增加辅助列的方法挺好的(可以解决某列存在多个最小值的情况)

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

扫码加我 拉你入群

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

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

2020-12-16 16:11:27
林随机漫步 发表于 2020-12-15 08:10
https://bbs.pinggu.org/thread-6408039-1-1.html
增加辅助列的方法挺好的(可以解决某列存在多个最小值的 ...
但是我还是想请问您一下,,就是我写的那程序,为什么最后的result是一个空的matrix。但是如果在for循环中print出结果,结果是正确的,就是不能赋值到result中。没有想明白
二维码

扫码加我 拉你入群

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

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

2020-12-16 20:59:28
0layer0 发表于 2020-12-16 16:11
但是我还是想请问您一下,,就是我写的那程序,为什么最后的result是一个空的matrix。但是如果在for循环中 ...
在判断是最小值时,需要将相应的最小值赋值给另外一个变量/矩阵,以便临时存储最小值。如果存在多个最小值我就不清楚了
二维码

扫码加我 拉你入群

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

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

2022-8-26 11:14:46
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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