这是我的代码,我想将文本的数据框转换为数字的数据框:
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
我该怎么办 ?
答案 0 :(得分:2)
这很简单。请勿将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)
此外,第二个向量是日期。