取消列表和as.data.frame不起作用时,如何将“列表”类型的EMG数据转换为矢量或数据帧?

时间:2019-02-21 04:22:28

标签: r

enter image description here
在R中使用生物信号EMG软件包之前,我需要转换为矢量或数据帧的EMG数据列表非常长。它不适用于列表。 EMG数据为.csv,格式为图片所示。 我尝试使用as.data.frame函数,但它仍然给了我一个列表。 我也尝试将其不公开,但是它给了我一个整数。 有2列和647行。 我需要在第二列中绘制数据,并从第8行开始直到第647行。 我该怎么做呢?

下面是我使用的代码:

library(biosignalEMG) # ReadCSV
MyEMGdata151517 <- read.csv(file="C:\\Users\\zyous\\OneDrive\\Desktop\\AsciiTraceDump_190211_151517.csv", header=TRUE, sep=",")
MyEMGdata151543<-read.csv(file="C:\\Users\\zyous\\OneDrive\\Desktop\\AsciiTraceDump_190211_151743.csv", header=TRUE, sep=",")
Rectified_EMG_151517<-rectification(MyEMGdata151517,rtype = "fullwave")
M<-as.data.frame.array(MyEMGdata151543) is.data.frame(M) #Rectifying 151517
Rectified_EMG_151517 <- rectification(MyEMGdata151517, rtype = "fullwave")
Rectified_plot_151517<-plot(MyEMGdata151517, main = "Rectified EMG") 

当我尝试进行纠正时,出现以下错误:纠正错误(MyEMGdata151517,rtype =“ fullwave”):需要类'emg'的对象。  我认为该错误是因为我的文件不是矢量。但是,当取消列出不起作用时,我该如何转换呢?我想看到像您在excel中会遇到的那种峰值。

1 个答案:

答案 0 :(得分:0)

似乎您没有将使用read.csv()创建的变量转换为emg对象。该文档提供了以下示例:

x <- rnorm(10000, 0, 1)
emg1 <- emg(x, samplingrate=1000, units="mV", data.name="")
summary(emg1)
EMG Object
    Total number of samples: 10000
    Number of channels: 1
    Duration (seconds):  10
    Samplingrate (Hertz):  1000
    Channel information:
    Units:  mV
plot(emg1, main="Simulated EMG")

哪个产量: enter image description here

根据问题的附件图片,我认为您应该对emg2 <- emg(MyEMGdata151517$X8, samplingrate=1000, units="mV", data.name="")做类似的事情