【发布时间】:2017-06-06 18:34:52
【问题描述】:
我正在尝试对单个列中存在差异的重复观察进行子集化。在此示例中,我尝试使用相同的 id 编号但不同的标签编号对观察进行子集化。我打算制作自己的函数,然后使用 lapply 函数来检查我的数据集。
到目前为止,我的代码如下所示:
test.function <- (i) {
if(test.data[i, "id"] == test.data[i-1, "id"] &
test.data[i, "tag.num"] != test.data[i-1, "tag.num"]){
id.tag <- subset(i)
}
}
lapply (test.data, test.function)
我对上述声明有几个问题。最重要的是,我不断收到:
Error: unexpected '{' in "test.data <- (i) {"
我真的不确定为什么会一直发生这种情况,如果有任何指导,我将不胜感激。
当前数据集的样子(999只是一个缺失值指标):
id tag.num
1000 999
1000 A49038483
1100 999
1100 A49294883
1200 999
1200 999
再一次,我只是想用不同的标签号对同一个 id 进行子集化。在此示例中,我尝试对 id 1000 和 1100 的 4 个观察值进行子集化。
另外,我想知道 if 语句中的语法以及是否有必要指定我的数据集名称。我希望在我的原始数据集中的几个不同的列上应用这个函数。如果有一种更通用的方法可以设置它,然后能够为所有适用的列运行 lapply 函数,那将是很棒的知识。感谢您提供任何和所有帮助。
【问题讨论】:
-
您错过了
)。在第三行末尾,{之前。
标签: r function syntax-error