gpt4 book ai didi

r - 使用 data.table 中的 fread() 会导致 R session 中止

转载 作者:行者123 更新时间:2023-12-01 19:26:58 27 4
gpt4 key购买 nike

我正在开发一个 MOOC 项目,并正在修改 RStudio 中的 data.table 包。使用 fread() 函数导入数据文件最初工作正常:

fread("UCI HAR Dataset/features.txt")->features
fread("UCI HAR Dataset/test/y_test.txt")->ytest

但是,当我尝试运行以下代码行时,我收到一个弹出窗口,显示“R session 中止:R 遇到 fatal error 。 session 已终止。”

fread("UCI HAR Dataset/test/X_test.txt")->xtest

我不明白问题出在哪里。我检查了文件名和路径,以确保我的拼写和大小写都正确,并且全部检查完毕。使用 read.table() 的等效代码工作正常并且不会导致 R 中止。我也尝试将文件重命名为“x_test.txt”,但出现了同样的问题。

根据?fread,只有该函数仅适用于“常规分隔文件”。据我所知,该文件是一个“常规分隔文件”,因为所有行都具有相同的列数。当我使用 read.table 时,没有包含“NA”的单元格;我使用 anyNA() 进行了检查。有没有一种快速方法可以确定文件是否是“定期”分隔的文件?原始文件是否还有其他内容可能导致问题?

<小时/>

更新

经过进一步研究和搜索开发者github上列出的报告问题,我认为我的问题在于每行开头有两个空格,对此进行了讨论 here 。我不确定为什么 R 中止而不是给我警告。不过,最新开发版本的 data.table (1.9.5) 不会导致 session 在相同条件下中止。

最佳答案

虽然我确实相信您应该在 R session 中止的任何情况下首先联系软件包维护者(并且这不是由于您对 C 代码进行了修改),但我可以为您的最后一个请求提供一个策略,即并不是专门针对 fread 但我发现常规读取()很有用。我假设这是一个逗号分隔的文件,但如果它是空格分隔的,您可以将 sep="," 更改为 sep=""

filcnts <- count.fields("UCI HAR Dataset/test/X_test.txt", sep=",")
table(filcnts)

那应该是一个单项表。如果没有,请尝试切换参数,例如 quotesepblank.lines.skipcomment.char

关于r - 使用 data.table 中的 fread() 会导致 R session 中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30721557/

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