Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环浏览多个列,并在R?中为每个列绘制一个图?_R - Fatal编程技术网

循环浏览多个列,并在R?中为每个列绘制一个图?

循环浏览多个列,并在R?中为每个列绘制一个图?,r,R,我有一个数据集,第一列是“年”,接下来的五十列是美国各州的数据。我想在一个pdf中生成多个绘图,将每个“州”列与“年”列(即[,1]和[,2],,,1]和[,3],…[,1]和[,50])匹配 我认为通过第2-50列循环将是一个很好的解决方案,但我无法让它在plot函数中工作。我是循环新手,因此我不确定如何继续。下面是我的数据集示例和我遇到问题的代码部分 testUS: Year ME NH VT MA RI CT NY 1953 4017 1579 50

我有一个数据集,第一列是“年”,接下来的五十列是美国各州的数据。我想在一个pdf中生成多个绘图,将每个“州”列与“年”列(即[,1]和[,2],,,1]和[,3],…[,1]和[,50])匹配

我认为通过第2-50列循环将是一个很好的解决方案,但我无法让它在plot函数中工作。我是循环新手,因此我不确定如何继续。下面是我的数据集示例和我遇到问题的代码部分

testUS:
Year    ME   NH    VT   MA   RI   CT    NY
1953    4017 1579 5057 12215 1582 9252  23507
1954    5265 1351 1733 18561 633  8402  21002
1955    740  788  2214 9719  787  3958  22317
1956    985  184  1537 6458  957  5575  26639

pdf("testUSgraph.pdf")
for (i in 2:50) {
  plot(testUS[,1], testUS[,i])
}
dev.off
我收到的错误消息是:

function (which = dev.cur()) 
{
    if (which == 1) 
        stop("cannot shut down device 1 (the null device)")
    .External(C_devoff, as.integer(which))
    dev.cur()
}
<bytecode: 0x1075edc30>
<environment: namespace:grDevices>
函数(其中=dev.cur())
{
if(其中=1)
停止(“无法关闭设备1(空设备)”)
.External(C_devoff,作为.integer(which))
开发cur()
}

此外,每当我将testUS[,I]分配给变量时,该变量只调用一个状态的数据(即只显示第50列的数据)。

假设您的数据帧是
df

library(ggplot2)

col_names <- colnames(df)
col_names <- col_names[-1]

for (i in col_names){
    plot <- ggplot(df, aes_string(x=df$Year, y=i)) +
    geom_point()
    print(plot)
}
库(ggplot2)

col_命名了相同的问题,只继续绘制第50列。当我尝试关闭pdf/dev.off时,我收到了与上面相同的错误消息。只是要清楚,您不能按绘图部分上的左箭头循环到以前的绘图?它肯定只返回一个绘图?是的,很抱歉,这是正确的。谢谢…然后可以接受该选项并重新绘制吗为每个图形创建一个组合的pdf?当我尝试这样做时,仍然会显示错误消息。不用担心。请检查我的编辑以制作组合打印。如果pdf代码不起作用,您应该可以单击导出-->另存为pdf。您好!我可以在脚本中使用您的代码,但是,我需要绘制饼图,而不是在列名称中循环点s、 我已尝试创建百分比。您是否帮助我修复此代码
plot\u列表
col_names <- colnames(df)
col_names <- col_names[-1]

plot_list <- list()

for (i in col_names){
    plot <- ggplot(df, aes_string(x=df$Year, y=i)) +
    geom_point()
    plot_list[[i]] <- plot
}
plot_grob <- arrangeGrob(grobs=plot_list)
pdf("testUSgraph.pdf")
grid.arrange(plot_grob)
dev.off()