因为花了2天半才解决,中间痛苦的寻找,记录一下解决的流程与经验

文章目录

  • 报错信息:
  • 报错原因:
  • 原代码:
  • 报错原因解析:
    • 1. 转置后数据类型变为character,因为numeric数据中存在character类型的脏数据
    • 2. 引入character脏数据的原因

报错信息:

1Error in y + 1 : non-numeric argument to binary operator

报错原因:

数据不是可计算的 numeric 或 integer 类型

原代码:

a = read.table(file = study.txt", sep = "\t",header = T, row.names = 1)
class(a[3, 3])    # integer
aa = t(d)
class(aa[3, 3])   # character
b = sparcc(aa)
# 出现报错
Error in y + 1 : non-numeric argument to binary operator

报错原因解析:

1. 转置后数据类型变为character,因为numeric数据中存在character类型的脏数据

(原因:转置函数t() 是先将dataframe转换为矩阵matrix,而matrix只有一种数据类型。所以如果存在character,所有数据都会被转换成character)

如何发现是否有character脏数据:
read.table设置参数colClasses = “numeric”(确保数据框内只有numeric类型)

a = read.table(file = study.txt", sep = "\t",header = T, row.names = 1colClasses = "numeric"   # 添加的参数)# 出现报错Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : scan() expected 'a real', got 'f__Cenarchaeaceae'

报错意为 数据框内存在“f__Cenarchaeaceae”,不属于numeric
查看txt内部

2. 引入character脏数据的原因
# 后续分析需要:设置data第一列列名为空格
genus <- data[1]
colnames(genus) <- " "
# 根据列名提取子集a <- subset(data, select = (disID[, 1]))

subset()函数将列名为 空格blank 的也提取了,导致了character脏数据的进入

R语言报错 Error in y + 1 : non-numeric argument to binary operator 解决记录相关推荐

  1. R中报错Error in mut[, pos] - 1 : non-numeric argument to binary operator

    数据不是数值型,转换成数值型即可解决问题 as.numeric() > sigs.input=mut.to.sigs.input(mut.ref =sample.mut.ref ,sample. ...

  2. r语言报错|Error in plot.window(...) : ‘xlim‘值不能是无限的

    plot()绘制图层时报错 错误提示: Error in plot.window(...) : 'xlim'值不能是无限的 In addition: Warning messages: 1: In m ...

  3. R语言报错 non-numeric argument to binary operator

    R语言对数据框的数据进行求和与平均值,直接计算报错,原代码如下: mydata1 <- mutate(mydata1,sum = sale2015 + sale2016 + sale2017 + ...

  4. R语言报错:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : n行没有x元素

    今天在使用R语言读取一个txt文件时,报如下错误. > data <- read.table("D:\\StudentTest\\评分.txt", sep=" ...

  5. 解决R语言报错:Error in make.names(col.names, unique = TRUE) :文件编码不一致的问题

    今天在用R语言读取文件的时候,提示了这样的错误: 出现这个问题是因为excel文件的编码方式与读取时的编码方式不统一造成的. 解决方法: 方法一:在excel保存文件的时候,选择UTF-8格式. 方法 ...

  6. c语言报错 error:1d returned 1 exit status 。(原因:把main写成了mian)

    没想到四年后的今天我竟然在重学c语言.唉,一把悲伤泪啊. 言归正传,今天照着书敲代码. 可是一点运行,就一直报错:error:1d returned 1 exit status. 找遍了网上的解决办法 ...

  7. 关于R语言报错:invalid argument to unary operator(一元运算符的无效参数)---ggplot2画图问题--解决Monte Carlo模拟输出

    目录 背景 我的操作(错误 解决问题过程: 1)查找 2)尝试将画图等过程从函数中移出来 3)尝试将+geom_line(aes(y=h_mean-sqrt(h_var))移入到前面的一行中去 结果 ...

  8. 关于c语言报错error C4996: ‘scanf‘: This function or variable may be unsafe.

    关于c语言scanf 这里记录一下复习c语言数据结构时遇到的一些问题: 在VS中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: int x; /*循环输入顺序栈元素用*/D ...

  9. R语言报错记录The following objects are masked from ‘package:stats’:decompose, spectrum

    报错记录

最新文章

  1. richTextBox1 转到行号
  2. 必须去收藏14个响应式布局的前端开发框架
  3. java后台手动分页
  4. aws mfa 认证_如何为您的AWS账户设置多因素身份验证(MFA)
  5. 【小程序】微信小程序开发实践
  6. base64 string 放不下_String、byte[]、Base64相互转换,不要再用错了
  7. c 语言是一种以解释方式实现的高级语言,高级语言按照计算机执行方式不同可以分为哪两类?它们的执行方式有什么不同,请进行概要说明。...
  8. Linux之ssh无密码登录
  9. Ubuntu16.04下修复宿主机时区错位8小时、修复容器相较于宿主机错位8小时问题
  10. OSChina 周四乱弹 —— 懦夫!你就不能找富婆吗
  11. iOS上栈溢出崩溃详解
  12. 匿名飞控码STM32版代码整理之Ano_AttCtrl.c
  13. 什么是rest?什么是restful?它们之间是什么关系
  14. 如何快速构建一套稳定、高效、可靠的网页无插件监控、直播、点播解决方案
  15. 步进电机步距角精度是什么?
  16. PYNQ Z2一:板子连接与测试
  17. 卡内基梅隆大学最新研究——使用“耳朵”,而不仅仅是“眼睛”,来提高机器人的感知能力
  18. mmdetection multi_apply
  19. flash掉电备份机制
  20. php如何导出xls表,php如何导出excel表格?

热门文章

  1. 2020-11-19实习
  2. 长理2017 f0803 求和:s=1-(1/2)+(1/3)-(1/4).........+(1/n),编写函数fun(char*s),实现字符串的逆置编写程序从基类派生圆柱,设计(均为可运行代码)
  3. Android 手机上获取物理唯一标识码
  4. 【51Nod 1463】找朋友
  5. 技术总结:winform和wpf的区别 以及 项目的“设计规划”
  6. MMORPG开发之七日创世说(四)
  7. 运营工作要善于利用工具-短网址
  8. Unity ECS小知识1 - PhysicsTrigger Event
  9. React 导航守卫
  10. CentOS 安装Samba