r - 函数语法//泛化函数

标签 r function syntax-error

我正在尝试对重复的观察结果进行子集化,这些观察结果在单列中有所不同。在此示例中,我尝试将具有相同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函数,那将是非常有用的知识。任何和所有帮助表示赞赏。

最佳答案

就错误而言,您缺少function):

test.function <- 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)
     }
}

运行没有任何错误。

关于r - 函数语法//泛化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44397433/

相关文章:

r - 对 ggplot 点使用自己的符号,更改图例符号以匹配

r - 如何更改 R 中的矩阵列类型

r ggplot2 使用 geom_rect 忽略未知的美学

c# - 为什么在此 C# 表达式中不使用括号时 && 运算符会中断?

json - 使用 RJSONIO 和 AsIs 类

function - vim脚本(clang_complete)如何完成功能、模板?

python - 匹配两个列表中的字符串

python - 如何使用return返回一个值

php - 链接到PHP中其他目录中的文件

sql - Oracle SQL中具有ISO日期格式的TO_DATE()