#r
#r
Вопрос:
Это мой код, я хочу преобразовать текстовый фрейм данных в числовой :
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. Добро пожаловать в Stack Overflow! Предпочтительнее, если вы можете публиковать отдельные вопросы вместо объединения ваших вопросов в один. Таким образом, это помогает людям, отвечающим на ваш вопрос, а также другим пользователям, ищущим хотя бы один из ваших вопросов. Спасибо!
Ответ №1:
Это очень просто. Не применяйте 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)
Кроме того, 2-й вектор — это дата.
Комментарии:
1. Большое спасибо за вашу помощь! У меня есть еще одна проблема, как вы можете видеть в моем ОБНОВЛЕНИИ к моему исходному сообщению. У вас есть какие-либо идеи, почему?
2. @Snooz3 Обновление — это другой вопрос, связанный с первым, но совсем не тот. Вы должны опубликовать его как отдельный вопрос, поскольку я считаю, что он может быть полезен другим (основная цель SO), с ссылкой на этот вопрос . И, пожалуйста, если вы это сделаете, опубликуйте выходные данные
dput(w)
, нам станет намного проще копировать и вставлять в сеанс R.