Как извлечь данные из файла .ini в r? - PullRequest
0 голосов
/ 22 января 2019

Суточные данные о температуре хранятся в файлах ini.Мне нужно прочитать эти данные, используя r для создания временного ряда.Я использовал пакет ini для чтения данных, но данные в списке.Мне нужно извлечь только данные о температуре между * символами.

Я использовал функцию unlist () и data.frame (), но не смог получить фрейм данных с данными о температуре.

library(ini)

filename="C:/Research/Time_series/WT/2018/01/RAWWT20180101.ini"
# https://www.dropbox.com/s/vyinidvs947mw9g/RAWWT20180101.ini?dl=0

data <- read.ini(filename, encoding = getOption("encoding"))
str(data)
List of 1
 $ Historical Data:List of 25
  ..$ 00H: chr "* 29.7  29.8  29.8  29.8  29.8  29.8  29.7  29.8  29.8  29.7  29.7  29.7  29.7  29.7  29.7  29.7  29.7  29.7  29.7  29.7  29.7 "| __truncated__
  ..$ 01H: chr "* 29.6  29.6  29.5  29.5  29.5  29.6  29.6  29.5  29.5  29.5  29.5  29.5  29.5  29.5  29.6  29.5  29.5  29.5  29.5  29.5  29.5 "| __truncated__
  ..$ 02H: chr "* 29.4  29.4  29.4  29.3  29.3  29.4  29.3  29.3  29.3  29.4  29.3  29.3  29.3  29.3  29.3  29.4  29.3  29.3  29.3  29.3  29.3 "| __truncated__
  ..$ 03H: chr "* 29.2  29.2  29.3  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.2  29.1  29.2  29.1 "| __truncated__
  ..$ 04H: chr "* 29.2  29.2  29.1  29.2  29.1  29.2  29.2  29.1  29.1  29.1  29.1  29.2  29.2  29.1  29.2  29.2  29.1  29.2  29.2  29.1  29.1 "| __truncated__
  ..$ 05H: chr "* 29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1 "| __truncated__
  ..$ 06H: chr "* 29.1  29.0  29.0  29.0  29.1  29.0  29.1  29.1  29.1  29.0  29.1  29.1  29.1  29.1  29.1  29.0  29.1  29.1  29.0  29.0  29.0 "| __truncated__
  ..$ 07H: chr "* 29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  29.0  28.9  29.0  29.0  29.0  29.0  29.0 "| __truncated__
  ..$ 08H: chr "* 29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1 "| __truncated__
  ..$ 09H: chr "* 29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1  29.1 "| __truncated__
  ..$ 10H: chr "* 29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.3  29.4  29.4  29.4  29.4  29.4  29.4  29.4  29.4  29.4 "| __truncated__
  ..$ 11H: chr "* 29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.5  29.5  29.5  29.5  29.6  29.6  29.6  29.5  29.5  29.5  29.5  29.5  29.5  29.5 "| __truncated__
  ..$ 12H: chr "* 29.6  29.6  29.4  29.3  29.3  29.4  29.4  29.4  29.4  29.4  29.4  29.4  29.4  29.3  29.3  29.3  29.4  29.4  29.4  29.3  29.3 "| __truncated__
  ..$ 13H: chr "* 29.5  29.4  29.6  29.6  29.6  29.6  29.6  29.6  29.4  29.4  29.4  29.4  29.6  29.6  29.6  29.6  29.7  29.8  29.8  29.8  29.8 "| __truncated__
  ..$ 14H: chr "* 29.9  29.9  29.9  30.0  30.0  30.0  29.9  30.0  30.0  30.0  30.0  30.0  30.0  30.1  30.1  30.1  30.1  30.0  30.1  30.0  30.1 "| __truncated__
  ..$ 15H: chr "* 30.1  30.1  30.1  30.1  30.1  30.1  30.2  30.2  30.2  30.1  30.1  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2 "| __truncated__
  ..$ 16H: chr "* 30.3  30.2  30.2  30.2  30.3  30.3  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2  30.2 "| __truncated__
  ..$ 17H: chr "* 30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1  30.1 "| __truncated__
  ..$ 18H: chr "* 29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9  29.9 "| __truncated__
  ..$ 19H: chr "* 29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8 "| __truncated__
  ..$ 20H: chr "* 29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8  29.8 "| __truncated__
  ..$ 21H: chr "* 29.8  29.8  29.8  29.8  29.8  29.8  29.7  29.8  29.8  29.8  29.8  29.8  29.8  29.7  29.8  29.7  29.8  29.8  29.8  29.8  29.8 "| __truncated__
  ..$ 22H: chr "* 29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6  29.6 "| __truncated__
  ..$ 23H: chr "* 29.6  29.5  29.6  29.6  29.5  29.5  29.6  29.6  29.6  29.6  29.6  29.5  29.5  29.6  29.5  29.6  29.6  29.6  29.6  29.6  29.6 "| __truncated__
  ..$ 24H: chr "* 30.3 1528  28.9 0641*"


s <-unlist(data)

ss <-data.frame(s,,stringsAsFactors=FALSE)

Мне нужно создать выходные данные в виде числовых значений следующим образом.

29.7  29.8  29.8  29.8  29.8  29.8  29.7  29.8  29.8  29.7

1 Ответ

0 голосов
/ 22 января 2019

Может быть, так будет работать?

library(ini)

filename<-choose.files()

data <- read.ini(filename, encoding = getOption("encoding")) 
str(data)


s <-unlist(data)

ss <-data.frame(s,stringsAsFactors=FALSE)


newdata<-apply(ss,1,function(x){as.numeric(unlist(str_match_all(x,"\\b\\-*\\d+\\.*\\d*\\b")))})

> str(newdata)
List of 25
 $ Historical Data.00H: num [1:60] 29.7 29.8 29.8 29.8 29.8 29.8 29.7 29.8 29.8 29.7 ...
 $ Historical Data.01H: num [1:60] 29.6 29.6 29.5 29.5 29.5 29.6 29.6 29.5 29.5 29.5 ...
...