为什么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)
如果您创建一个小的可复制示例以及预期的输出,将更容易提供帮助。了解。