为什么R很难将一个充满数字的文本文件转换成数字?
以下是简短的代码片段:为什么R很难将一个充满数字的文本文件转换成数字?,r,R,以下是简短的代码片段: > # Clear the console in RStudio > cat("\014") > > > setwd("C:/Users/name/Desktop/Project1v3/Fit_Index_Data/") > dataVectorTemp <- read.table("CFI1.txt", header = FALSE) > dataVe
> # Clear the console in RStudio
> cat("\014")
>
>
> setwd("C:/Users/name/Desktop/Project1v3/Fit_Index_Data/")
> dataVectorTemp <- read.table("CFI1.txt", header = FALSE)
> dataVector <- as.numeric(dataVectorTemp)
> mean(dataVector)
#在RStudio中清除控制台
>类别(“\014”)
>
>
>setwd(“C:/Users/name/Desktop/Project1v3/Fit\u Index\u Data/”)
>dataVectorTemp dataVector平均值(dataVector)
导致以下错误消息:
也许是因为我写这篇文章的时候已经很晚了,但我觉得像R这样的语言在读一个充满数字的*.txt
文件并找到平均值这样简单的事情时,怎么能做得这么好,做错事呢
我知道R必须以某种方式将这些数字从chars
和string
(从原始文件)转换为float(或as.numeric
),但如果我知道如何表达我的问题,而不是说我相当迷茫和失败,那就糟了
我不知道为什么我会被这件事弄得如此困惑,但好像R在跟我开玩笑。我不确定你是否真的按照你所显示的顺序运行代码,并且使用相同的变量,但是当你把一个数据帧传递给
mean
函数时,警告会重现<代码>读取。表将返回数据帧
使用mtcars
作为示例数据集:
mean(mtcars)
#[1] NA
警告信息:
默认值(mtcars):参数不是数字或逻辑:返回NA
mean
需要传递一个向量,您可以unlist
将数据帧转换为可以传递给mean
的向量
mean(unlist(mtcars))
#[1] 39.60853
您可以尝试将所有内容转换为数字(如果不是数字,则转换为NA),然后在
mean
函数中使用NA.rm=TRUE
dataVector <- sapply(dataVectorTemp, function(x) as.numeric(x))
mean(dataVector, na.rm = TRUE)
dataVector尝试使用mean(dataVector,na.rm=TRUE)
如果您创建一个小的可复制示例以及预期的输出,将更容易提供帮助。了解。