Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_For Loop - Fatal编程技术网

R 无需使用'即可创建列表的任何更简洁/优雅的方式;对于';构造?

R 无需使用'即可创建列表的任何更简洁/优雅的方式;对于';构造?,r,list,for-loop,R,List,For Loop,我需要创建一个对象来计算和存储过去两年中每个月电网中14个节点的3组电价(高峰电价、非高峰电价和日平均电价)。我认为嵌入式列表数据结构是合适的(如果这不是最佳的,请纠正我) 无论如何,我不喜欢使用for循环来创建这个结构。如果有一种优雅的方法可以做到这一点,如果有人能帮我指引正确的方向,我将不胜感激。我正在努力练习和改进我的编码。多谢各位 hb_lz_names <- c("HB_BUSAVG", "HB_HOUSTON", "HB_HUBAVG", "HB_NORTH", "HB_SOU

我需要创建一个对象来计算和存储过去两年中每个月电网中14个节点的3组电价(高峰电价、非高峰电价和日平均电价)。我认为嵌入式列表数据结构是合适的(如果这不是最佳的,请纠正我)

无论如何,我不喜欢使用for循环来创建这个结构。如果有一种优雅的方法可以做到这一点,如果有人能帮我指引正确的方向,我将不胜感激。我正在努力练习和改进我的编码。多谢各位

hb_lz_names <- c("HB_BUSAVG", "HB_HOUSTON", "HB_HUBAVG", "HB_NORTH", "HB_SOUTH", 
"HB_WEST", "LZ_AEN", "LZ_CPS", "LZ_HOUSTON", "LZ_LCRA", "LZ_NORTH", 
"LZ_RAYBN", "LZ_SOUTH", "LZ_WEST")

power_price <- list()
for (i in 1:2){
  power_price[[i]] <- list()
  for (j in 1:12){
    power_price[[i]][[j]] <- list()
    for (k in 1:NROW(hb_lz_names)) {
      power_price[[i]][[j]][[k]] <- list()
      for (l in 1:3){
        power_price[[i]][[j]][[k]][[l]] <- l
      }
      names(power_price[[i]][[j]][[k]]) <- c("on-peak", "off-peak", "average")
    }
    names(power_price[[i]][[j]]) <- hb_lz_names
  }
  names(power_price[[i]]) <- c("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug",
                             "sep", "oct", "nov", "dec")
}
names(power_price) <- c("2011", "2012")
hb_lz_names我认为对于这样一个常规(不参差不齐)数据集,使用数组会更好:

period_names <- c("on-peak", "off-peak", "average")
hb_lz_names <- c("HB_BUSAVG", "HB_HOUSTON", "HB_HUBAVG", "HB_NORTH", "HB_SOUTH", 
"HB_WEST", "LZ_AEN", "LZ_CPS", "LZ_HOUSTON", "LZ_LCRA", "LZ_NORTH", 
"LZ_RAYBN", "LZ_SOUTH", "LZ_WEST")
yrs <- 2011:2012

power.price <- array(1,dim=c(2,12,length(hb_lz_names),length(period_names)))
dimnames(power.price) <- list(year=yrs,month=month.abb,node=hb_lz_names,
                              period=period_names)

period\u如何使用
expand.grid
?非常感谢您的指导。我实际上将使用ggplot,并将做一些统计分析,所以这是伟大的信息。谢谢@mnel的建议。