Как выяснить, откуда приходят новые NaN - R - PullRequest
0 голосов
/ 22 мая 2018
Total_Time <- function(TT_column){
z <- dmy_hms(TT_column)
hr <- hour(z)
min <- minute(z)
sec <- second(z)
x <- hr*60 + min + sec/60 # No need to extract days as the maximum value is 13 hours
x
}

df$TT.Col_1 <- Total_Time(df$T.Col_1)
sum(is.na(df)) # 0
df$TT.Col_2 <- Total_Time(df$T.Col_2)
sum(is.na(df)) # 0
df$TT.Col_3 <- Total_Time(df$T.Col_3)
sum(is.na(df)) # 0
df$TT.Col_4 <- Total_Time(df$T.Col_4)
sum(is.na(df)) # 0
df$TT.Col_5 <- Total_Time(df$T.Col_5)
sum(is.na(df)) # 5
df$TT.Col_6 <- Total_Time(df$T.Col_6)
sum(is.na(df)) # 7

Я пытаюсь выяснить, откуда берутся эти значения NaN с помощью tryCatch(), но я не могу найти способ использовать tryCatch() с этими конкретными столбцами (TT.Col_5 и TT.Col_6).

Некоторый контекст: T.Col_X - это значения времени символов (dd/mm/yyyy hh:mm:ss), которые преобразуются в минуты, начиная с 30/12/1899 00:00:00, по прошествии 0 часов, 0 минут и 0 секунд.Total_Time - это функция, которая преобразует эти значения и восстанавливает их в TT.Col_X

1 Ответ

0 голосов
/ 23 мая 2018

Я нашел решение.Я нашел применение преобразования без функции в строках кода, откуда приходит NaN, например:

Вместо:

df$TT.Col_5 <- Total_Time(df$T.Col_5)

Я сделал:

z <- dmy_hms(df$T.Col_5) # Here was the problem
hr <- hour(z)
min <- minute(z)
sec <- second(z)
df$TT.Col_5 <- hr*60 + min + sec/60

А в чем была проблема?Я нашел 5 пустых значений, отличных от NaN.То же самое для df$Col_6, но вместо 7 значений, отличных от NaN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...