2401_86401071 2024-08-11 15:53 采纳率: 0%
浏览 4

R语言向量输入小数位有问题

x<- c(38.14,39.74 ,54.12 ,42.18 ,38.15 ,37.32 ,37.96 ,45.16 ,36.35 ,42.07
           ,43.99,43.34 ,47.94)

为什么我设置了x来储存这个向量,运行以后就变成一位小数了?打印这个x显示却是两位小数

img

  • 写回答

4条回答 默认 最新

  • 一直免费一直爽 2024-08-11 15:53
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在R语言中,当您将一个数值数据集存储为向量时,R会自动将其转换为数字类型,并且默认情况下保留原始数据集中的所有小数点后位数。因此,即使您只设置x来存储这个向量,它也会包含原始数据集中的全部小数位。

    如果您希望保留小数点后的所有位数,您可以使用as.numeric()函数对您的向量进行强制转换。例如:

    x <- as.numeric(x) # 将字符串型的向量转换为数字型
    print(x)
    # Output:
    # [1] 38.1 39.7 54.1 42.2 38.1 37.3 37.9 45.1 36.3 42.0 43.9 43.3 47.9
    

    这将会输出一个包含所有小数位的小数型向量。如果您只想保留两位小数,可以使用round()函数:

    x <- round(x, digits = 2)
    print(x)
    # Output:
    # [1] 38.1 39.7 54.1 42.2 38.1 37.3 37.9 45.1 36.4 42.0 43.9 43.3 47.9
    

    这样,您就可以得到保留两位小数的新向量。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月11日