У меня есть много CSV-файлов с данными о температуре, которые я импортирую в R для обработки.Эти файлы выглядят так:
ID Date.Time temp1 temp2
1 08/13/17 14:48:18 15.581 -0.423
2 08/13/17 16:48:18 17.510 -0.423
3 08/13/17 18:48:18 15.390 -0.423
Иногда показания температуры в столбцах 3 и 4 явно неверны и должны быть заменены значениями NA.Я знаю, что все, что больше 50 или меньше -50 - это ошибка.Я хотел бы просто удалить их прямо сейчас.Использование
df[,c(3,4)]<- replace(df[,c(3,4)], df[,c(3,4)] >50, NA)
df[,c(3,4)] <- replace(df[,c(3,4)], df[,c(3,4)] < -50, NA)
работает, но я не хочу повторять это для каждого файла, потому что он выглядит грязным.
Я хотел бы создать функцию для замены всего этого, например:
df<-remove.errors(df[,c(3,4)])
Я пытался:
remove.errors<-function (df) {
df[,]<- replace(df[,], df[,] > 50, NA)
df[,]<- replace(df[,], df[,] < -50, NA)
}
df<-remove.errors(df[,c(3,4)])
Это работает, но, к сожалению, только третийи 4-е столбцы и первые два исчезают.Я слишком долго играл с этим кодом и пробовал другие вещи, которые не работали вообще.
Я знаю, что, возможно, мне не хватает чего-то простого.У кого-нибудь есть советы по созданию функции, которая заменит значения в столбцах 3 и 4 на NA, не меняя первые два столбца?