【问题标题】:how to import .rec files in R如何在 R 中导入 .rec 文件
【发布时间】:2018-08-31 17:49:54
【问题描述】:

我有一个要导入 R 的 .rec 文件。我已将 .rec 文件保存到我的工作目录中。这是我尝试过的。

library(foreign)  
library(RODBC)  
data.test <- read.epiinfo("data_in.rec")  

我得到这个错误:

Error in if (headerlength <= 0L) 
stop("file has zero or fewer variables: probably not an EpiInfo file") : 
  missing value where TRUE/FALSE needed

另外:警告信息:

1:

In readLines(file, 1L, ok = TRUE) :
  line 1 appears to contain an embedded nul

2:

In strsplit(line, " ") : input string 1 is invalid in this locale

我在网上查看了 R 中的 read.epiinfo 帮助包。帮助包说

某些更高版本的 Epi Info 使用 Microsoft Access 文件格式 来存储数据。这可以通过 RODBC 包读取。

我有两个问题。
1. 我得到的错误是因为我拥有的 .rec 文件来自高于 6 的 Epi Info 版本吗?
2.如何使用RODBC库打开.rec文件?

【问题讨论】:

  • 我不知道.rec 文件是什么,但该错误强烈表明该文件无法识别(可能已损坏或为空)。如果您手动查看文件(notepad++、less、...),它看起来对吗? file.info("CF031_22FEB2016.rec")$size 你觉得合适吗? (我不知道。)顺便说一句:变量怎么可能少于零?这是一个令人困惑的错误......
  • 感谢您的编辑。 .rec 文件是多导睡眠图 (EEG) 数据的时间序列记录。 file.info("CF031_22FEB2016.rec")$size 给我的文件大小为 1004614016。
  • 这个多导睡眠图 (EEG) 数据是从 Epi Info 导出的吗?
  • 说实话@Stedy 我不确定。这是临床医生给我的。我有 google .rec 文件,它告诉我它们是 Epi Info 文件。
  • 好的,那么我会尝试来自@r2evans 的评论 - 尝试在文本编辑器(记事本、记事本++、less 等)中打开并查看文件。您甚至可以使用read.table() 将其读入 R

标签: r rodbc european-data-format


【解决方案1】:

.rec(或 .REC)文件原来是 .EDF(欧洲数据格式)文件类型。使用库 edfReader 在 R 中轻松打开它。 edfReader 库帮助文件对于打开文件和提取时间序列数据非常有用。请参阅下面的代码了解我使用的内容。代码改编自帮助文件。

install.packages('edfReader')
library(edfReader)
?edfReader  
lib.dir <- system.file("data_in.rec",package="edfReader")  
Cfile <- paste(lib.dir,'/edfPlusC.edf',sep='')  
CHdr <- readEdfHeader("data_in.rec")  
CSignals <- readEdfSignals(CHdr)  
summary(CSignals) 

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 2012-10-27
    • 2023-01-31
    • 2016-10-23
    • 1970-01-01
    • 2021-10-08
    • 2020-02-05
    • 1970-01-01
    相关资源
    最近更新 更多