赋予价值RStudio的算法

时间:2018-07-23 17:54:25

标签: r function

我正在尝试创建一种本质上是此数据帧函数的算法。

这是我正在使用的代码,但似乎没有用。

我需要image_id作为自变量,以便当我在函数中输入7时,我得到10和15。如果输入8,我将得到11和13。

num = function(image_id, category_id, data = categories) {x->y}

这是我正在使用的数据框。

category_id image_id cat_to_img_last_update 1 15 15 NULL
2 11 11 NULL 3 13 13 NULL 4 10 10 NULL 5 35 35 NULL 6 78 78 NULL 7 112 112 NULL 8 61 61 NULL 9 86 86 NULL 10 101 101 NULL 11 61 61 NULL 12 86 86 NULL

2 个答案:

答案 0 :(得分:0)

您可能不需要此功能,但是如果您真的想要,它的外观如下:

# Read in data
categories <- 
  data.frame(category_id = c(15,11,13,10,35,78,112,61,86,101,61,86),
             image_id = c(7,8,8,7,9,9,10,10,11,11,12,12),
             stringsAsFactors = FALSE)

num <- function(image_id, data = categories) {
  data$category_id[data$image_id == image_id]
}

num(7) # 15 10
num(8) # 11 13

答案 1 :(得分:0)

df <- data.frame(
    category_id = c(15, 11, 13, 10, 25, 78, 112, 61, 86, 101, 61, 86),
    image_id    = c(7, 8, 8, 7, 9, 9, 10, 10, 11, 11, 12, 12)
)

myfun <- function(num) { sort(df[df$image_id == num, "category_id"]) }

myfun(7)
myfun(8)
相关问题