Я готовлю функцию для поиска номера столбца в одних данных, ссылаясь на имя из другого набора данных
У меня есть 2 набора данных test 1 и test2, я готовлю функцию для поиска имени столбца из test1 вдругой набор данных, тест 2 (номер столбца).
dput (test1)
structure(list(mastercode_02 = c(3036696L, 3036696L, 3036696L,
3036696L, 3036696L, 3036696L), mastercode_03 = c(3039617L, 3039617L,
3039617L, 3039617L, 3039617L, 3039617L), mastercode_04 = c(3000470L,
3000470L, 3000470L, 3000470L, 3000470L, 3000470L), mastercode_05 = c(3039123L,
3039123L, 3039123L, 3039123L, 3039123L, 3039123L), mastercode_06 = c(1000054L,
1000054L, 1000054L, 1000054L, 1000054L, 1000054L), mastercode_07 = 1000001:1000006,
mastercode_08 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), mastercode_09 = c(NA_integer_,
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
), mastercode_10 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), mastercode_11 = c(NA_integer_,
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
), mastercode_12 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_)), class = c("data.table",
"data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer: 0x07fb2498>)
вторые данные
Консоль ~ /
dput (test2)
structure(list(QID_121 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), QID_131 = c(NA_integer_,
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
), unitlevel = c(6, 6, 6, 6, 6, 6), mastercode_01 = c(NA, NA,
NA, NA, NA, NA), mastercode_02 = c(3036696L, 3036696L, 3036696L,
3036696L, 3036696L, 3036696L), mastercode_03 = c(3039617L, 3039617L,
3039617L, 3039617L, 3039617L, 3039617L), mastercode_04 = c(3000470L,
3000470L, 3000470L, 3000470L, 3000470L, 3000470L), mastercode_05 = c(3039123L,
3039123L, 3039123L, 3039123L, 3039123L, 3039123L), mastercode_06 = c(1000054L,
1000054L, 1000054L, 1000054L, 1000054L, 1000054L), mastercode_07 = 1000001:1000006,
mastercode_08 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), mastercode_09 = c(NA_integer_,
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
), mastercode_10 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_), mastercode_11 = c(NA_integer_,
NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
), mastercode_12 = c(NA_integer_, NA_integer_, NA_integer_,
NA_integer_, NA_integer_, NA_integer_)), class = c("data.table",
"data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer: 0x07fb2498>)
Я хочу что-то подобное ниже, которое можно использовать в других функциях:
levelfun<-function(m,dataset){
levelname<-names(mastercodes)[[m]]
level_filter_data<-dataset%>% filter(unitlevel>m)
k=which(names(level_filter_data)==levelname)}
здесь я получаю ошибку споследняя строка, может быть, я должен использовать альтернативу какой функции.