分享
三行代码  ›  专栏  ›  技术社区  ›  Maral Dorri

如果值与中的向量匹配数据帧,返回相邻列中的值

  •  0
  • Maral Dorri  · 技术社区  · 1 周前

    我定义如下数据帧:

    bolts <- data.frame(bolt = c("1/2","5/8","3/4","7/8","1"),
                    hole = c(9/16,11/16,13/16,15/16,17/16))
    

    然后我从中选择一个值 bolts$bolt

    bolt <- sample(c("1/2","5/8","3/4","7/8","1"),1)
    

    我想写一个代码来返回相应的 bolts$hole 到选定的螺栓值。我尝试了下面的方法,但结果是空的:

    hole <- for (bolt in bolts$bolt) {return(bolts$hole)}
    
    1 回复  |  直到 1 周前
        1
  •  1
  •   Ronak Shah    1 周前

    你可以用 match

    bolts$hole[match(bolt, bolts$bolt)]
    

    或者 ==

    bolts$hole[bolts$bolt == bolt]