Ошибка при создании geom_table в R, показывающая ненормальную доходность развития нескольких отраслей - PullRequest
0 голосов
/ 02 июля 2019

желаемый график, но в R Здравствуйте, я новичок в R и столкнулся с проблемой при попытке создать ggpolt geom_line для визуализации развития ненормальной доходности выбранных 5 компаний.но я получаю сообщение об ошибке «Ошибка в is.list (x): неверное число измерений», которое я не понимаю.

Может кто-нибудь помочь мне понять эту ошибку и как я могу ее исправить?

То, что я сделал до сих пор:

Построение всех рядов финансовой индустрии

 df <- read.table(text="AR-5    AR-4    AR-3    AR-2    AR-1    AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7 AR8 AR9 AR10
+ -0,0069   0,0157  0,0175  -0,0087 -0,0108 -0,0038 -0,0136 -0,0077 0,0135  -0,0024 -0,0190 0,0119  0,0100  0,0041  0,0044  -0,0287
+ -0,0008   0,0012  -0,0088 0,0032  -0,0017 0,0088  -0,1461 -0,0968 0,0208  -0,1597 -0,0234 -0,0413 0,0128  0,0034  0,0105  0,0254
+ -0,0032   0,0128  0,0029  0,0014  0,0010  -0,0059 -0,0074 -0,0855 0,0001  -0,0011 0,0111  0,0045  0,0002  0,0024  -0,0146 0,0007
+ -0,0637   -0,0043 0,0003  0,0208  -0,0246 -0,0890 -0,0630 -0,0534 -0,0071 0,0239  -0,0151 0,0054  -0,0083 0,0078  0,0327  -0,0541
+ -0,0054   -0,0029 -0,0007 0,0019  0,0077  -0,0088 0,0119  0,0000  0,0025  -0,0009 0,0021  0,0039  0,0131  -0,0046 -0,0338 -0,0081", header = T)
 df <- melt(df)
 df$company <- 1:5
 head(df, 11)

ggplot(df, aes(x=df$company[1:16, 0], y=df$company)[1:16, 1:5], group=factor(company)) +
+geom_line(aes(color=factor(company)

))

Error in is.list(x) : incorrect number of dimensions

Ось Y должна бытьзначения и ось r только названия ненормальных возвратов каждого дня, то есть AR-2, AR-1, AR0, AR1

1 Ответ

0 голосов
/ 02 июля 2019

Запятые используются в качестве десятичных точек, поэтому в вызов read.table включается dec = ',' (в противном случае значения рассматриваются как факторы):

df <- read.table(text="AR-5    AR-4    AR-3    AR-2    AR-1    AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7 AR8 AR9 AR10
 -0,0069   0,0157  0,0175  -0,0087 -0,0108 -0,0038 -0,0136 -0,0077 0,0135  -0,0024 -0,0190 0,0119  0,0100  0,0041  0,0044  -0,0287
 -0,0008   0,0012  -0,0088 0,0032  -0,0017 0,0088  -0,1461 -0,0968 0,0208  -0,1597 -0,0234 -0,0413 0,0128  0,0034  0,0105  0,0254
 -0,0032   0,0128  0,0029  0,0014  0,0010  -0,0059 -0,0074 -0,0855 0,0001  -0,0011 0,0111  0,0045  0,0002  0,0024  -0,0146 0,0007
 -0,0637   -0,0043 0,0003  0,0208  -0,0246 -0,0890 -0,0630 -0,0534 -0,0071 0,0239  -0,0151 0,0054  -0,0083 0,0078  0,0327  -0,0541
 -0,0054   -0,0029 -0,0007 0,0019  0,0077  -0,0088 0,0119  0,0000  0,0025  -0,0009 0,0021  0,0039  0,0131  -0,0046 -0,0338 -0,0081", header = T, dec = ',')

Тогда, если вы включите компанию в качестве коэффициента от 1 до 5, вы можете использовать расплав для увеличения длины данных:

df$company <- as.factor(1:5)
df.melt <- melt(df, id = "company")

> head(df.melt, 10)
   company variable   value
1        1     AR.5 -0.0069
2        2     AR.5 -0.0008
3        3     AR.5 -0.0032
4        4     AR.5 -0.0637
5        5     AR.5 -0.0054
6        1     AR.4  0.0157
7        2     AR.4  0.0012
8        3     AR.4  0.0128
9        4     AR.4 -0.0043
10       5     AR.4 -0.0029

А затем используйте ggplot. Примечание: нет необходимости включать df во второй раз в aes (), как вы это делали ранее.

ggplot(df.melt, aes(x = variable, y = value, group = company)) +
  geom_line(aes(color=company))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...