将空值分配给列表中数据框的列

时间:2013-10-14 17:44:19

标签: r list loops

我的循环对其参数采用两个数据框列“Date”和“Time”。

由于在每个数据帧合并到其他数据之后如何构造循环,因此不清楚日期和时间将显示在列表中元素[[i]]的组合数据帧的列位置中。 因此,我需要通过参数位置分配Null,即DF [[Date]],DF [[Time]],但是,我不确定如何在列表OptData中引用这些列。因此,OptData [[i]] [,4:5]是一个不好的例子,因为日期和时间的列位置将对OptData的每个Dataframe元素进行更改。 我修改过的问题是:如何为

分配空值
for(i in 1:ncol(ADHR)) {...

  OptData[[i]]<-join(BEST[[i]],DataObjects[[i]], by="Date", type="left" )

即。我认为这将是OptData [[i]] [,4:5]&lt; -NULL 任何帮助深表感谢。 感谢

1 个答案:

答案 0 :(得分:1)

正如阿南达所提到的,你很可能需要用list(NULL)代替。如果仅使用NULL替换,则会出现错误,因为在您的示例中,您要求替换两列(即4:5),但不清楚R是如何回收该替换向量的。如果您提供一个清单,那么根据R文档提供清单:

  

对于[替换值可以是列表:列表的每个元素用于替换(一部分)一列,根据需要回收列表。如果创建了由number指定的列,则使用相应列表元素的名称(如果有)来命名列。如果替换不是选择行,则列表值可以包含NULL元素,这将导致删除相应的列。 (参见示例。)