Как преобразовать данные EMG типа 'list' в вектор или фрейм данных, когда unlist и as.data.frame не работают? - PullRequest
0 голосов
/ 21 февраля 2019

enter image description here
У меня очень длинный список данных EMG, которые мне нужно преобразовать в векторный или фрейм данных перед использованием пакета EMG с биосигналом в R. Он не работает ссписки.Данные EMG имеют формат .csv и имеют форму, показанную на рисунке.Я попытался использовать функцию as.data.frame, но она все равно дала мне список.Я также попытался распечатать его, но вместо этого я получил целое число.Есть 2 столбца и 647 строк.Мне нужно построить данные во 2-м столбце, начиная со строки 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' требуется.И эта ошибка, я думаю, потому что мой файл не является вектором.Но как мне конвертировать его, когда unlist не работает? Я хочу видеть пики, подобные тем, которые вы получите в Excel, делая это.

1 Ответ

0 голосов
/ 27 февраля 2019

Похоже, что вы не конвертируете переменную, созданную с помощью 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="")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...