R:(RHRV)plot.window(...)中的错误:需要有限的“ xlim”值

时间:2019-03-21 11:19:16

标签: r

我一直在R中使用RHRV软件包,但在分析小于400s的时间间隔时遇到了问题,奇怪的是它仅在某些输入文件上发生而在其他文件上没有发生。

例如,我想分析300s的数据,因此时间窗口将为300s长,我可以对文件1.txt执行此操作,但是我不能对文件2.txt执行此操作,但是如果我将时间窗扩展到400s(在代码块中注释的位置)将起作用。数据文件具有相同的格式。

这是脚本文件:

library(RHRV)
library(ggplot2)
library(expss)
library(knitr)
library(gridExtra)
library(tidyverse)

hrv.data <- CreateHRVData()
hrv.data <- SetVerbose(hrv.data, TRUE) 
hrv.data <- LoadBeatAscii(hrv.data,"C:/Users/User/Documents/2.txt")

hrv.data = BuildNIHR(hrv.data)
hrv.data = FilterNIHR(hrv.data)
hrv.data = InterpolateNIHR (hrv.data, freqhr = 4)
hrv.data_time <- ExtractTimeSegment(hrv.data, 0, 400) #It doesn't work for examples under 400 sec

spectral_analysis <- CreateFreqAnalysis(hrv.data_time)
spectral_analysis <- CalculatePowerBand(spectral_analysis , indexFreqAnalysis= 1,
                                        size = 300, shift = 30, type = "fourier",
                                        ULFmin = 0, ULFmax = 0.03, VLFmin = 0.03, VLFmax = 0.05,
                                        LFmin = 0.05, LFmax = 0.15, HFmin = 0.15, HFmax = 0.4 )

timedomain_analysis <- CreateTimeAnalysis(hrv.data_time, size = 300)

nonlinear_analysis <- CreateNonLinearAnalysis(hrv.data_time)
nonlinear_analysis <- CalculateCorrDim(nonlinear_analysis,
                                       indexNonLinearAnalysis = 1, 
                                       minEmbeddingDim = 2,
                                       maxEmbeddingDim = 8, timeLag = 1,
                                       minRadius = 1, maxRadius = 15,
                                       pointsRadius = 20, theilerWindow = 10,
                                       corrOrder = 2, doPlot = FALSE)

nonlinear_analysis <- CalculateSampleEntropy(nonlinear_analysis)
nonlinear_analysis <- EstimateSampleEntropy(nonlinear_analysis)
nonlinear_analysis <- PoincarePlot(nonlinear_analysis)


SDNN <- timedomain_analysis$TimeAnalysis[[1]]$SDNN
SDANN <-timedomain_analysis$TimeAnalysis[[1]]$SDANN
SDNNIDX <-timedomain_analysis$TimeAnalysis[[1]]$SDNNIDX
SDSD <- timedomain_analysis$TimeAnalysis[[1]]$SDSD
pNN50 <- timedomain_analysis$TimeAnalysis[[1]]$pNN50 
rMSSD <- timedomain_analysis$TimeAnalysis[[1]]$rMSSD 
IRRR <-timedomain_analysis$TimeAnalysis[[1]]$IRRR
MADRR <- timedomain_analysis$TimeAnalysis[[1]]$MADRR
TINN <- timedomain_analysis$TimeAnalysis[[1]]$TINN
HRVi <- timedomain_analysis$TimeAnalysis[[1]]$HRVi

HRV <- mean(spectral_analysis$FreqAnalysis[[1]]$HRV)
LF <- mean(spectral_analysis$FreqAnalysis[[1]]$LF)
HF <- mean(spectral_analysis$FreqAnalysis[[1]]$HF)
LFHF <- mean(spectral_analysis$FreqAnalysis[[1]]$LFHF)

entropy <- mean(nonlinear_analysis$NonLinearAnalysis[[1]]$sampleEntropy$statistic) 
SD1 <- nonlinear_analysis$NonLinearAnalysis[[1]]$PoincarePlot$SD1
SD2 <- nonlinear_analysis$NonLinearAnalysis[[1]]$PoincarePlot$SD2

hrv_results_table <- c(SDNN, SDANN, SDNNIDX, SDSD,pNN50, rMSSD, HRVi, MADRR, TINN, HRV, LF, HF, LFHF, entropy, SD1, SD2)

hrv_results_table_DF <- data.frame(hrv_results_table)
hrv_results_table_DF <- hrv_results_table_DF %>% `row.names<-`(c("SDNN","SDANN", "SDNNIDX", "SDSD", "pNN50","r-MSSD","HRVi", "MADRR", "TINN", "HRV", "LF", "HF", "LF/HF", "Sample entropy", "Poincare SD1", "Poincare SD2"))
hrv_results_table_DF <- round(hrv_results_table_DF,2)
name.width <- max(sapply(names(hrv_results_table_DF), nchar))
print(hrv_results_table_DF)

这是错误消息:

nonlinear_analysis <- CalculateSampleEntropy(nonlinear_analysis) Computing the sample entropy of order 2 no non-missing arguments to min; returning Infno non-missing arguments to max; returning -Infno non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfError in plot.window(...) : need finite 'xlim' values

这些是我遇到麻烦的输入文件: 1.txt 2.txt

我将不胜感激,彼得

0 个答案:

没有答案