#r
#r
Вопрос:
У меня есть индексный файл, скажем, список. Я называю его «t». У меня также есть таблица с именем «b».
Я хочу выполнить поиск и записать все строки, если индекс совпадает с первой записью строки в b. Я создал этот код, но он не работает.
table <- function(t,b){
for (i in 1:length(t)) {
if (t[i] %in% b[1,]) {
for (j in 1:length(b)) {
if (t[i] ==b[1,j]) {
z[i] = c(b[,j])
}
}
}
return z
}
}
Спасибо за чтение
Комментарии:
1. Пожалуйста, поделитесь небольшим примером
t
иb
.2. Просто в качестве дополнительного примечания: будьте осторожны с присвоением имени вашей функции table, потому что стандартная функция с именем table уже существует.
3. резервуар u для рекомендаций по таблице, примером t может быть c (1,5,6,4,12) y b будет cbind((1,2,3,4,5,6,7,8,9,10,11,12), (a, b, c, d, e, f, g, h, i, j, k, l, m) резервуар u для помощи
4. rows_to_select <- который (b $ Var1 %в% t) выдаст вам rowindices всех строк, где Var1 присутствует в t. Не уверен, что это то, что вы хотите архивировать 🙂
Ответ №1:
на самом деле я сделал это самостоятельно, я опустил код. спасибо (сек(q))dq всем! смотрите и
autoserch <- function(x,y){
znames <- names(y)
x<-as.matrix(x)
y<-as.matrix(y)
m <- length(y[1,])
n <-length(x[,1])
z <- matrix(0,n,m)
for (i in 1:length(x)){
if (isTRUE(x[i,1] %in% y[,1])) {
for(j in 1:length(y[,1])){
if(isTRUE(x[i,1]==y[j,1])){
z[i,] <- y[j,]
}
}
}
}
colnames(z)<-znames
print(z)
write.csv(z, file = "consulta_solicitada.csv")
}