我有一个像这样的数据框
>df
X1 X2 X3 X4 X5 X6
2016-02-16 120.1142 124.8521 119.0029 119.2219 129.4915 116.5805
2016-02-17 122.1224 121.7848 123.8320 125.2890 125.6411 119.2096
2016-02-18 123.7764 126.1593 126.2566 120.5896 124.5153 123.2499
2016-02-19 119.5436 124.8069 118.0718 121.8618 123.3318 123.5650
2016-02-20 123.5873 126.0524 121.6285 118.9005 122.1214 123.5694
我想用列名作为标题绘制直方图。
我正在使用此代码
par(mfrow = c(2,3))
for(i in names(df)){
hist(df[[i]], main=colnames(df[[i]]),xlab="x")
}
但它没有显示任何内容。
> colnames(df[[i]])
NULL
如何使用列名称绘制直方图?
答案 0 :(得分:4)
答案 1 :(得分:2)
你在这里所做的不起作用:
par(mfrow = c(2,3))
for(i in names(df)){
hist(df[[i]], main=colnames(df[[i]]),xlab="x")
}
因为df[[i]]
只是数据框中的向量,而向量没有合欢名。你已经在i
得到了你想要的名字,为什么不呢:
hist(df[[i]], main=i, xlab="x")
最好不要调用你的循环变量i
,因为这对大多数人来说都是一个数字。为清晰起见,请使用n
或name
。