【问题标题】:For-loop through 2 vectors and create new relative vector循环遍历 2 个向量并创建新的相对向量
【发布时间】:2017-06-29 04:05:49
【问题描述】:

我有 2 个向量(xy),它们是网格的坐标点。我有几行代码来获取每个点(x[i]y[i])并返回该点的值。我希望将该返回值放入一个新列表 ('v') 中。

这就是我的想法:

v = c()
for(i in x & y){
  getval(x[i], y[i]) # placeholder/theoretical function
  v[i] = ptval # ptval returned from getval()
}

不过,这不起作用,我认为这与 for-loop 中的格式问题有关。

这是我想要的最终数据的示例,其中xy 是输入(实际上是gps 坐标),v 是getval() 的返回值:

x    y    v
1    1    0
1    2    0
1    3    1
2    1    0
2    2    0
2    3    2
3    1    3
3    2    1
3    3    0

【问题讨论】:

  • for ( i in 1 : length(x)){#your calculation here}
  • @Wen y 向量呢?我需要将 x[i] 和 y[i] 都插入我的计算中
  • 我发了,如果不行请告诉我
  • 我认为这行得通,谢谢!
  • mapply(getval, x, y) 怎么样?

标签: r for-loop


【解决方案1】:
v = c()
for(i in 1:length(x){
  getval(x[i], y[i]) # placeholder/theoretical function
  v[i] = ptval # ptval returned from getval()
}

或者如果你需要 x 和 y 的所有组合

expand.grid(x,y)

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 2012-09-12
    • 2012-01-22
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    相关资源
    最近更新 更多