在控制台和RStudio查看器之间更改了频率表的显示

时间:2019-08-21 16:10:09

标签: r rstudio

为频率创建表格时,控制台输出和RStudio查看器之间会出现不同的显示。需要注意的重要一点是,信息始终保持相同,只是显示有所不同。

生成数据

id <- rep(1:20, each = 200)

colors <- sample(c("red", 
                   "blue", 
                   "green", 
                   "yellow", 
                   "orange", 
                   "brown", "
                   white", 
                   "pink"), 
                 size = 4000, replace = TRUE)

df <- as.data.frame(cbind(id, colors))

tally <- with(df, table(id, colors))

> tally

    colors
id   \n                   white blue brown green orange pink red yellow
  1                          33   22    33    25     21   23  24     19
  10                         16   17    34    30     25   24  33     21
  11                         30   27    28    28     22   18  26     21
  12                         25   24    21    25     21   35  23     26
  13                         22   28    22    30     21   28  29     20
  14                         25   24    21    28     30   23  24     25
  15                         26   20    20    20     35   32  26     21
  16                         32   21    14    33     28   14  25     33
  17                         29   24    31    23     21   28  14     30
  18                         28   30    22    22     20   23  26     29
  19                         22   30    25    22     27   34  16     24
  2                          21   30    19    18     37   23  32     20
  20                         27   26    24    36     25   16  19     27
  3                          25   27    24    26     20   27  22     29
  4                          26   23    28    25     22   28  25     23
  5                          30   26    16    28     21   31  25     23
  6                          31   30    21    26     20   25  24     23
  7                          30   23    25    28     28   24  21     21
  8                          31   18    37    14     28   25  26     21
  9                          22   22    23    32     22   21  28     30

但是,当使用View()时,我获得了以其他格式显示的数据

View(tally)

rstudio_viewer

有没有一种方法可以使Viewer以与控制台相同的格式显示数据(列对应于颜色)?

编辑25-八月-2019

从下面@camille的评论中,我了解到这个问题是在here之前被问到的。传达的意思是,RStudio的查看器知道如何正确显示数据帧,而不是表格。因此,旧文章中提供的解决方案建议使用通用的as.data.frame()或更具体的as.data.frame.table() / as.data.frame.matrix()将表转换为数据框,RStudio的查看器随后应能够按照原始表的布局正确呈现数据。

不幸的是,这两个建议功能都不适合我。从this comment也可以看出,该帖子中提供的解决方案可能已经停止工作,而不仅仅是我的情况。问题和解决方案于2012年发布,所以从那时到现在,也许有些变化了?

为了演示我正在谈论的行为:

tally <- with(df, table(id, colors))

is.table(tally)
[1] TRUE

> tally

    colors
id   \n                   white blue brown green orange pink red yellow
  1                          33   22    33    25     21   23  24     19
  10                         16   17    34    30     25   24  33     21
  11                         30   27    28    28     22   18  26     21
  12                         25   24    21    25     21   35  23     26
  13                         22   28    22    30     21   28  29     20
  14                         25   24    21    28     30   23  24     25
  15                         26   20    20    20     35   32  26     21
  16                         32   21    14    33     28   14  25     33
  17                         29   24    31    23     21   28  14     30
  18                         28   30    22    22     20   23  26     29
  19                         22   30    25    22     27   34  16     24
  2                          21   30    19    18     37   23  32     20
  20                         27   26    24    36     25   16  19     27
  3                          25   27    24    26     20   27  22     29
  4                          26   23    28    25     22   28  25     23
  5                          30   26    16    28     21   31  25     23
  6                          31   30    21    26     20   25  24     23
  7                          30   23    25    28     28   24  21     21
  8                          31   18    37    14     28   25  26     21
  9                          22   22    23    32     22   21  28     30

> tally <- as.data.frame.table(tally)

> is.table(tally)
[1] FALSE

> is.data.frame(tally)
[1] TRUE

> tally

    id                     colors Freq
1    1 \n                   white   33
2   10 \n                   white   16
3   11 \n                   white   30
4   12 \n                   white   25
5   13 \n                   white   22
6   14 \n                   white   25
7   15 \n                   white   26
8   16 \n                   white   32
9   17 \n                   white   29
10  18 \n                   white   28
11  19 \n                   white   22
12   2 \n                   white   21
13  20 \n                   white   27
14   3 \n                   white   25
15   4 \n                   white   26
16   5 \n                   white   30
17   6 \n                   white   31
18   7 \n                   white   30
19   8 \n                   white   31
20   9 \n                   white   22
21   1                       blue   22
22  10                       blue   17
23  11                       blue   27
24  12                       blue   24
25  13                       blue   28
26  14                       blue   24
27  15                       blue   20
28  16                       blue   21
29  17                       blue   24
30  18                       blue   30
31  19                       blue   30
32   2                       blue   30
33  20                       blue   26
34   3                       blue   27
35   4                       blue   23
36   5                       blue   26
37   6                       blue   30
38   7                       blue   23
39   8                       blue   18
40   9                       blue   22
41   1                      brown   33
42  10                      brown   34
43  11                      brown   28
44  12                      brown   21
45  13                      brown   22
46  14                      brown   21
47  15                      brown   20
48  16                      brown   14
49  17                      brown   31
50  18                      brown   22
51  19                      brown   25
52   2                      brown   19
53  20                      brown   24
54   3                      brown   24
55   4                      brown   28
56   5                      brown   16
57   6                      brown   21
58   7                      brown   25
59   8                      brown   37
60   9                      brown   23
61   1                      green   25
62  10                      green   30
63  11                      green   28
64  12                      green   25
65  13                      green   30
66  14                      green   28
67  15                      green   20
68  16                      green   33
69  17                      green   23
70  18                      green   22
71  19                      green   22
72   2                      green   18
73  20                      green   36
74   3                      green   26
75   4                      green   25
76   5                      green   28
77   6                      green   26
78   7                      green   28
79   8                      green   14
80   9                      green   32
81   1                     orange   21
82  10                     orange   25
83  11                     orange   22
84  12                     orange   21
85  13                     orange   21
86  14                     orange   30
87  15                     orange   35
88  16                     orange   28
89  17                     orange   21
90  18                     orange   20
91  19                     orange   27
92   2                     orange   37
93  20                     orange   25
94   3                     orange   20
95   4                     orange   22
96   5                     orange   21
97   6                     orange   20
98   7                     orange   28
99   8                     orange   28
100  9                     orange   22
101  1                       pink   23
102 10                       pink   24
103 11                       pink   18
104 12                       pink   35
105 13                       pink   28
106 14                       pink   23
107 15                       pink   32
108 16                       pink   14
109 17                       pink   28
110 18                       pink   23
111 19                       pink   34
112  2                       pink   23
113 20                       pink   16
114  3                       pink   27
115  4                       pink   28
116  5                       pink   31
117  6                       pink   25
118  7                       pink   24
119  8                       pink   25
120  9                       pink   21
121  1                        red   24
122 10                        red   33
123 11                        red   26
124 12                        red   23
125 13                        red   29
126 14                        red   24
127 15                        red   26
128 16                        red   25
129 17                        red   14
130 18                        red   26
131 19                        red   16
132  2                        red   32
133 20                        red   19
134  3                        red   22
135  4                        red   25
136  5                        red   25
137  6                        red   24
138  7                        red   21
139  8                        red   26
140  9                        red   28
141  1                     yellow   19
142 10                     yellow   21
143 11                     yellow   21
144 12                     yellow   26
145 13                     yellow   20
146 14                     yellow   25
147 15                     yellow   21
148 16                     yellow   33
149 17                     yellow   30
150 18                     yellow   29
151 19                     yellow   24
152  2                     yellow   20
153 20                     yellow   27
154  3                     yellow   29
155  4                     yellow   23
156  5                     yellow   23
157  6                     yellow   23
158  7                     yellow   21
159  8                     yellow   21
160  9                     yellow   30

从上面可以看出,当我使用as.data.frame.table时,它不仅不能解决我的问题,而且还使不需要的数据布局现在也可以出现在控制台中。

有什么想法如何在保留最初运行with(df, table(id, colors))时的格式的同时转换为数据帧?

谢谢!

0 个答案:

没有答案