У меня есть наборы данных, которые имеют несколько почти одинаковых (всегда одно и то же целое число, разные десятичные значения) чисел, не в одной строке во всех фреймах / списках данных.Что-то вроде:
1.003
5.307
11.912
4.586
13.900
2.387
и
3.050
11.954
7.319
5.605
Я хотел бы вернуть 11,912 и 5,307.До сих пор я пытался уменьшить секунду до простого
3
11
7
5
, прежде чем использовать два цикла for для поиска любого случая, где 0> df1 - df2> 1. Если это выполнено, его следует записать вновый фрейм или список данных (здесь я не привередлив, это конец моих манипуляций с данными).df1 и df2 - это фреймы данных с одним столбцом, причем df2 уже урезан до целых чисел.
k = 1
for(i in 1:dim(df1)[1])
{
for(j in 1:dim(df2)[1])
{
if (df1[[i]]-df2[[j]] > 0 && df1[[i]]-df2[[j]] < 1)
{
df3[[k]] = data.frame(ID = k, Value = df1[[i]])
k = k + 1
}
}
}
выдает ошибку «объект типа« замыкание »не является поднабором».Я уверен, что мне не хватает какого-то синтаксиса или чего-то глупого, но я все еще начинающий R и не могу понять это.Я также не уверен, что, исправленные ошибки, этот код будет делать то, что я надеюсь.Любая помощь будет принята с благодарностью;Спасибо!
Андрей