美文网首页
记一个R语言错误

记一个R语言错误

作者: zd200572 | 来源:发表于2021-04-22 16:26 被阅读0次

发现如果习惯了一个编程语言,想当然的往另一个上套,是要吃大亏的,这是一个真实的经历。我最早学的Python,习惯了它的英语化编程,到了最近操作表的多了起来,发现R语言更顺手些,就转向了R语言,一直用得还不错,属于不求效率,只求能解决问题的主,不过,今天发现的程序bug,令我汗颜了一波。详细如下:

R中的实现

先来看R语言的代码,一个for循环,两三行,如此简单,就出了个大毛病:

   for (i in 1:length(rownames(T_P))) {
     T_P$Median[i] <- mean(as.numeric(T_P[i,]))
   }
# 数据在这里:
                  AL      DH     RN
En3 1.87694501 1.58559653 1.32844769
En8 1.76545633 1.49141366 1.24953920
En9 1.09405837 0.92423334 0.77434304

各位能发现问题出在哪吗?就出在这个赋值操作上,重要的问题说3遍,R语言是向量化的R语言是向量化的R语言是向量化的。这个循环中第一个赋值就把一列给赋值了,所以计算就不会正确了,除了第一个结果。
看看错误的结果:

# 运行第一个时的结果
                   AL      DH     RN  Median
En3 1.87694501 1.58559653 1.32844769  1.59699641
En8 1.76545633 1.49141366 1.24953920  1.59699641
En9 1.09405837 0.92423334 0.77434304  1.59699641
# 运行完成后
                   AL      DH     RN
En3 1.87694501 1.58559653 1.32844769 1.59699641
En8 1.76545633 1.49141366 1.24953920 1.52585140
En9 1.09405837 0.92423334 0.77434304 1.09740779

正确操作

当然我这代码不是最优的,解决问题是第一要务,优化第二,很多时候优化就省略了,如果没有速度上需求,特别是数据量比较小的情况。

    Median <- c() 
    for (i in 1:length(rownames(T_P))) {
      Median <- c(Median, mean(as.numeric(T_P[i,])))
    }
    T_P <- cbind(T_P, Median)

相关文章

  • 记一个R语言错误

    发现如果习惯了一个编程语言,想当然的往另一个上套,是要吃大亏的,这是一个真实的经历。我最早学的Python,习惯了...

  • 2020-05-14

    学习小组DAY4笔记-lyq 今天初探R语言 R语言安装 R语言面板在简单了解

  • R语言错误捕获

    学习R的人,往往一入门就被带进了繁花似锦的统计学世界,慢慢却偏离了编程的道路。这一点和学python的人有显著的区...

  • 学习小组Day4笔记-- Louis-jl

    Day4笔记 R语言基础 认识R语言及Rstudio R是用于统计分析、绘图的语言和操作环境,汇集了许多函数,有一...

  • 2018-08-19

    在运行rsem-to-matrix是会出现R读取文件错误 下面是在网上找的答案R语言读取文件错误 所以将 /ho...

  • R语言填坑记

    受网上帖子启发,想想自己用R语言就是不断跑代码,纠正error,我也记录一下我在用R时遇到的错误。 1.R语言填坑...

  • 学习小组Day4笔记-Herobrine

    R语言入门 R和Rstudio RStudio是R的一个集成开发环境。下载安装好R和Rstudio,需要使用R语言...

  • 学习小组Day4笔记--大水

    R语言基础 0.1什么是R语言? R是用于统计、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开...

  • R语言可做的10件事

    R语言可以做那些事情? R语言有一个非常全面的CRAN、Bioconductor、Neuroconductor和R...

  • 第1章 R语言介绍

    《R语言实战》笔记系列 本章学习大纲 1.R的安装 2.R的基本概念(常用的函数介绍) 3.R的常见错误 第一部分...

网友评论

      本文标题:记一个R语言错误

      本文链接:https://www.haomeiwen.com/subject/nwffrltx.html