将每次迭代生成的数据帧保存在列表中

时间:2014-04-10 17:06:51

标签: r list save dataframe

我目前正在使用RFID阅读器,该阅读器由基于Web和Java的PHP软件控制。 该软件提供了通过REST请求控制阅读器的选项。就我而言,我正在制作一个要求连续改变读取功率的功能;每当有请求时,就会检测到解析存储项目的XML。 每次解析XML时,我都会将值保存在数据框中。我的问题是: 在" for"的每次迭代中循环我得到一个数据框。我想将数据框保存到列表中,但这种方式无法正确保存。这个功能怎么了?

if(init_power_value!="NULL" && end_power_value!="NULL"){
    if(init_power_value > end_power_value){
      aux1<-end_power_value
      end_power_value<-init_power_value
      init_power_value<-aux1
    }
    inventory_DF_List<-list()
    for(i in seq(init_power_value, end_power_value, 0.5)){
      response<-REST_GET_START_DEVICE(DF_device_value)
      REST_PUT_POWER_DEVICE(DF_device_value,as.character(i))
      response<-REST_GET_START_DEVICE(DF_device_value)

      DF_READER_CONFIGURATION<-PARSE_READER_CONFIGURATION(DF_device_value)

      DF_inventory_items_List<-PARSE_INVENTORY_items(DF_device_value)
      inventory_DF_List[[i]]<-DF_inventory_items_List
    }
  }

非常感谢

1 个答案:

答案 0 :(得分:1)

对自己的问题有好处 - for循环中的i必须是整数。尝试将inital_powerend_power序列放在自己的向量中(我称之为X)并使用seq_along在for循环中执行整数,如下所示:

inventory_DF_List<-list()

X<-seq(init_power_value, end_power_value, 0.5)

for(i in seq_along(X)){
  response<-REST_GET_START_DEVICE(DF_device_value)
  REST_PUT_POWER_DEVICE(DF_device_value,as.character(i))
  response<-REST_GET_START_DEVICE(DF_device_value)

  DF_READER_CONFIGURATION<-PARSE_READER_CONFIGURATION(DF_device_value)

  DF_inventory_items_List<-PARSE_INVENTORY_items(DF_device_value)
  inventory_DF_List[[i]]<-DF_inventory_items_List
}

}

我不知道你在REST_PUT_POWER_DEVICE(DF_device_value,as.character(i))中想要什么。如果您想要整数,请使用i,但如果您希望序列中的数字使用X[i]