搜索
查看: 152|回复: 1

[R] for循环中,应用apply提示dim(x)不为正值;但是is.data.frame 为TRUE

[复制链接]

1

主题

1

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2020-1-1 16:22:12 | 显示全部楼层 |阅读模式
已知信息:
1. 处理对象是list中存放的 多个data.frame
2. 单行命令可以执行 (提取单个data.frame)
3. is.data.frame(STEM_profiles$p11)
[1] TRUE

数据结构:
> str(STEM_profiles)
List of 12
$ p11:'data.frame':        189 obs. of 14 variables:
..$ H.A5.12: num [1:189] 1259 694 1254 1303 2096 ...
……

单行命令:
# 筛选行和不为零的
STEM_profiles$p11 <- STEM_profiles$p11[!apply(STEM_profiles$p11,1,sum)==0,]

报错的for loop代码:

a <- list()
a <- for (i in names(STEM_profiles)){
STEM_profiles$i <- STEM_profiles$i[!apply(STEM_profiles$i,1,sum)==0,]}

报错信息:
Error in apply(STEM_profiles$i, 1, sum) : dim(X)的值必需是正数




上一篇:10X转录组数据是否可以inferCNV呢
下一篇:ubiome数据探索(顺便测试图片md)
回复

使用道具 举报

7

主题

27

帖子

942

积分

高级会员

Rank: 4

积分
942
QQ
发表于 6 天前 | 显示全部楼层
不知道你的问题有没有解决 ,最近在看R语言的书,书中说R会自动尝试降低数据的维度,错误应该与这个问题有关,drop=FALSE可以解决
欢迎交流!
https://github.com/zd200572/
https://jiawen.zd200572.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-1-21 23:52 , Processed in 0.020828 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.