Преобразование текстового фрейма данных в числовой фрейм данных дает список NA - PullRequest
0 голосов
/ 15 марта 2019

Это мой код, я хочу преобразовать текстовый фрейм в числовой:

library(reldist)

year_return[complete.cases(year_return), ]
year_returnGINI <- as.numeric(as.character(year_return[2:19]))

Но вместо числового кадра данных я получаю список NA:

 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

Что мне делать?

Вот пример набора данных:

     Date         .SXQR       .SXTR    .SXNR      .SXMR      .SXAR       .SX3R       .SX6R    
[1,] "2000-01-03" " 364.9400" "223.93" "489.0400" "586.3800" " 306.5600" " 246.8100" "385.360"
[2,] "2000-01-04" " 345.0400" "218.90" "474.0500" "566.1500" " 301.1300" " 239.2400" "374.640"
[3,] "2000-01-05" " 338.2200" "215.88" "464.2000" "542.2900" " 298.2200" " 239.5500" "373.260"

Вот ссылка на полный набор данных

ОБНОВЛЕНИЕ :

Я хочу знать, как использовать коэффициент Джини из библиотеки reldist .

Мой код сейчас:

library(reldist)

year_return <- read.csv("year_return.csv")
year_return[3:19] <- lapply(year_return[3:19], function(x) 
  as.numeric(as.character(x)))
year_return[[2]] <- as.Date(year_return[[2]])
str(year_return)

gini(year_return[3:19],w)

И я получаю это сообщение об ошибке: Ошибка в [.data.frame (x, ox): выбраны неопределенные столбцы.

Примечание: «w» равно:

 [,1]       [,2]       [,3]       [,4]       [,5]       [,6]       [,7]       [,8]       [,9]
[1,] 0.04591712 0.04078667 0.04126135 0.05131896 0.04349168 0.04834431 0.04694083 0.03904389 0.04117694
          [,10]      [,11]      [,12]      [,13]      [,14]     [,15]      [,16]      [,17]     [,18]
[1,] 0.04537461 0.04692524 0.04045692 0.04696848 0.05087293 0.1713231 0.08499888 0.04396601 0.0708321

Что я должен делать ?

1 Ответ

2 голосов
/ 15 марта 2019

Это очень просто. Не применяйте as.numeric(as.character(.)) к кадру данных, применяйте его вектор-столбец к вектору-столбцу.

year_return <- read.csv("year_return.csv")
year_return[3:19] <- lapply(year_return[3:19], function(x) 
  as.numeric(as.character(x)))
year_return[[2]] <- as.Date(year_return[[2]])
str(year_return)

Кроме того, вторым вектором является дата .

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