用数据类型错误将R中的错误四舍五入

时间:2019-10-10 17:16:54

标签: r

我知道这是一个非常基本的问题。因此,您可能想知道为什么这还要麻烦。 但是,我有一个四舍五入的问题。

我尝试了这个,但是没有一个奏效。

mode(RNA_data) <- 'numeric' 
  

mde(x)中的错误:(列表)对象不能被强制键入“ double”

RNA_data<-as.numeric(RNA_data)   
  
    

错误:(列表)对象无法强制输入“ double”

  
round(P7_N02_RNA, digits=0)  
  

Math.data.frame(list(P07_N02_RNA.genes.V5 = c(326L,1L,851L,:
  数据框中的非数字变量:P07_N02_RNA.genes.V5
  错误:“非数字变量”中出现意外符号

P7_N02_RNA <- round(P7_N02_RNA, digits=0) 
  

Math.data.frame(list(P07_N02_RNA.genes.V5 = c(326L,1L,851L,:
  数据框中的非数字变量:P07_N02_RNA.genes.V5
  错误:“非数字变量”中出现意外符号

trimmed_RNA <- round(RNA_data$p07_N01,digit = 0) 
  

回合错误(RNA_data $ p07_N01,digit = 0):
  数学函数的非数字参数
  错误:“非数字参数”中的意外符号

trimmed_RNA <- round(RNA_data[-1,], digits=0) 
  

Math.data.frame(list(geneID = 2:58639,p07_N01 = c(2175L,9753L,:数据帧中的非数字变量):geneID,p07_N01,p07_T01,p07_N02,p07_T02,p08_N01 ,p08_T01,p08_N02,p08_T02,p09_N01,p09_T01,p09_N02,p09_T02

RNA_data <-data.frame(RNA_data)
trimmed_RNA <- data.frame(round(as.numeric(levels(RNA_data)[RNA_data])))  
  

获得了0点的错误。

rm(trimmed_RNA)
require(data.table)
setDT(RNA_data)
RNA_data[, RNA_data:=round(as.numeric(levels(RNA_data)[RNA_data]))] 
  

[.data.table(RNA_data,,:=(RNA_data,round(as.numeric(levels(RNAsdata)[RNA_data])))))中的错误:分配给现有列'RNA_data'的RHS为长度为零,但不为NULL。如果打算删除该列,请使用NULL。否则,RHS的长度必须> 0;否则,长度必须大于0。例如NA_integer_。如果您试图将列类型更改为空列表列,则与所有列类型更改一样,提供完整的RHS向量,例如vector('list',nrow(DT));。即在新列中输入“ plonk”。**

这是58639行的数据外观。

enter image description here

我还尝试将文件导出到csv文件中,并在excel中进行修整,但是也出现了循环引用错误,因此无法正常工作。 现在我不知道该怎么办。

有人可以帮我取整这些数字吗?

1 个答案:

答案 0 :(得分:0)

很难从您的问题中看出来,但首先将变量转换为数字,如下所示:

#include <stdio.h>
int main()
{
    float A = 1, B = 1, R = 1;
    char op = '+';

    printf ("entrer A op B (sans espaces)\n");
    scanf ("%f%c%f", &A, &op, &B);


    switch (op)
    {
        case 43 :
            R = A+B;
            break;
        case 45 :
            R = A-B;
            break;
        case 42 :
            R = A*B;
            break;
        case 47 :
            if (B!=0)
            R = A/B;
            else
            printf ("on peut pas diviser sur 0");
            break;
        default :
            printf ("seulement les operations +,-,*,/ peuvent etre realiser, une par une, veuillez resseyer la saisie de votre operation");
            break;
    }
    if (B!=0 && (op =='+' || op =='-' || op =='*' || op =='/'))
    printf ("\b= %.2f", R);
    return 0;
}

这就是您向上舍入的意思

mtcars$mpg <- as.numeric( as.character( mtcars$mpg))