我是编写函数的新手,我不确定从哪里开始。下面是此示例中名为 m1 的数据框的子集。我想编写一个函数来遍历数据集并按数字提取长度和深度信息。例如,如果它遇到数字 1,它会获取长度和深度并将它们插入到新数据帧或向量的第一行中。如果数字等于 2,它会执行相同的操作,依此类推。
length number depth
[1,] 109 1 10
[2,] 109 1 10
[3,] 109 1 10
[4,] 109 1 10
[5,] 109 1 10
[6,] 109 1 10
[7,] 109 1 10
[8,] 109 1 10
[9,] 109 1 10
[10,] 109 1 10
[11,] 109 1 10
[12,] 109 1 10
[13,] 107 2 10
[14,] 107 2 10
[15,] 107 2 10
[16,] 107 2 10
[17,] 107 2 10
[18,] 107 2 10
[19,] 107 2 10
[20,] 107 2 10
如果数字等于 1,则尝试编写一个函数以获取上述输出。
length.fun=function(x)
{
lengths=numeric()
depth=numeric()
if (x[2]==1)
{
lengths=x[1]
depth=x[3]
}
return(cbind(depth,lengths))
}
length.fun(m1)
但是,我得到的输出是这样的:
length.fun(m1)
depth lengths
任何帮助是极大的赞赏。谢谢