0

假设我正在尝试通过以下方式标记 x 轴:

axis(1, at=1:5, lab=c("Mon", "Tue", "Wed", "Thu", "Fri"))

除了我想使用我存储到变量“标签”的值

labels <- read.csv("labelFile.csv", header=T)

当我在分配后输入“标签”时,R成功地返回枚举内容:

    labels
      AA
1     AB
2    AHA
3   APir
4      B
5     Ca
6  CA1or
7  CA1py
8  CA1ra
9  CA2py
10 CA3py
11   CA4
12    CE
13  cOF2
14  cOF3
15  cOF5
16  cOF6
17  DGgr
18  DGpf
19  DGsg
20 dlPF2
21 dlPF3
22 dlPF4
23 dlPF5
24 dlPF6
25   GPe
26   GPi
27    ic
28  IsCj
29     L
30    Me
31  mOF2
32  mOF3
33  mOF4
34  mOF5
35  mOF6
36   NAC
37    PL
38    Pu
39  rCG2
40  rCG3
41  rCG5
42  rCG6
43  rPAC
44     S
45    Tu
46  V1-1
47  V1-2
48  V1-3
49 V1-4A
50 V1-4B
51 V14Ca
52 V14Cb
53  V1-5
54  V1-6
55  V1wm
56 V2_L5
57  V2-2
58  V2-3
59  V2-4
60  V2-6

当我尝试此代码时,会发生以下情况:

    axis(1, at=3*0:59, lab=c(labels))
Error in axis(1, at = 3 * 0:59, lab = c(labels)) : 
  'at' and 'labels' lengths differ, 60 != 1

所以,我想要做的是让“labels.csv”文件的内容在 x 轴上的刻度线 1、4、7、10...59 处列出(每个增加三个的倍数时间)。关于如何解决这个问题的任何建议?

4

1 回答 1

1

我认为标签是一个data.frame,所以如果你写c(labels)你会得到一个包含一个的列表data.frame。这解释了长度错误。尝试这个:

axis(1, at=3*0:59, lab=as.vector(labels$AA))
于 2013-02-22T19:58:19.590 回答