как сохранить только числа из одного столбца в R - PullRequest
0 голосов
/ 06 апреля 2019

Я использовал следующий код для восстановления моего исходного фрейма данных (для 1-го набора данных в списке) из вывода функции lapply (S.list), которая дала мне по одному номеру для каждого из данных.

 data1$S <- S.list[1]

S.list был извлечен из функции lapply, с помощью которой я применил функцию к списку из 6 наборов данных и получил одно число для каждого набора данных в списке.Затем я хотел восстановить исходный фрейм данных для всех 6 наборов данных в списке.это пример, который я реконструировал для первого набора данных в списке и сохранил результат в столбце S.Но столбец S возвращает что-то вроде этого

       S 
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
...

Так, как я могу удалить других, кроме числа (0.245133).Мне нужен только номер.

1 Ответ

2 голосов
/ 06 апреля 2019

Это один из способов сделать это

data1=read.table(text="
      S
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
", header=T, stringsAsFactors=F)

data1$S = as.numeric(sub("(.+= )([0-9\\.]+)(.+)", "\\2", data1$S, perl = T))

data1$S
# [1] 0.2451331 0.2451331 0.2451331 0.2451331
...