gpt4 book ai didi

read.table() 在 R 中将数值读取为整数

转载 作者:行者123 更新时间:2023-12-04 23:49:37 31 4
gpt4 key购买 nike

我正在使用 Data <- read.table("file", head=TRUE, sep=";")阅读我的文件。
head我的文件看起来像这样:

         Date     Time Global_active_power Global_reactive_power Voltage Global_intensity
66637 2007-02-01 00:00:00 0.326 0.128 243.150 1.400
66638 2007-02-01 00:01:00 0.326 0.130 243.320 1.400
66639 2007-02-01 00:02:00 0.324 0.132 243.510 1.400
66640 2007-02-01 00:03:00 0.324 0.134 243.900 1.400
66641 2007-02-01 00:04:00 0.322 0.130 243.160 1.400
66642 2007-02-01 00:05:00 0.320 0.126 242.290 1.400
Sub_metering_1 Sub_metering_2 Sub_metering_3
66637 0.000 0.000 0
66638 0.000 0.000 0
66639 0.000 0.000 0
66640 0.000 0.000 0
66641 0.000 0.000 0
66642 0.000 0.000 0

但是,如果我尝试 typeof(Data$Global_reactive_power)它显示 integer (应该是 numeric )。

我不明白为什么会这样。我尝试了很多方法,但不知何故它们都不起作用,有人可以帮我吗?

我的文件在这里:
https://d396qusza40orc.cloudfront.net/exdata%2Fdata%2Fhousehold_power_consumption.zip

最佳答案

看来你的原始数据为“?”对于缺失值。我通过使用查看

is.not.numeric<-function(x) {
is.na(as.numeric(as.character(x)))
}

head(Filter(is.not.numeric, Data$Global_reactive_power))

当 R 遇到非数字值,例如“?”在列中,它将列强制为一个因子。为了正确读取数据,请尝试
Data<-read.table("household_power_consumption.txt", 
header=TRUE, sep=";", na.strings="?")

现在
class(Data$Global_reactive_power)
# [1] "numeric"

显示它是数字。 (请注意,您永远不应该真正需要使用 typeof 。它会告诉您对象的数据是如何存储的,它不会告诉您对象是什么。为此使用 class())。

关于read.table() 在 R 中将数值读取为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25690304/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com