我在df中有类似下面的数据。我编写了一个函数,可以在几分钟内将其转换为时间。
90 min
39 min
21 min
109 min
100 min
97 min
110 min
84 min
97 min
94 min
80 min
110 min
30 min
95 min
59 min
9 min
2 h 5 min
3 h 45 min
4h
N/A
NA
78 min
80 min
108 min
85 min
5 min
83 min
我编写了这个函数,并且在需要True / False时不断获取错误值。我想我已经处理了NA和N / A案件,但仍然得到了错误。我需要做些什么来纠正功能并消除错误?
myfunction <- function(x){
if (x=="N/A"){
x <- NA
} else if(is.na(x)){
x <- NA
}
x <- unlist(strsplit(x, " ", fixed=TRUE))
if(x[2]=='min'){
x <- as.numeric((x[1]))
}
if(!is.na(x)){
if (x[2]=='h'){
if (is.null(x[4])||is.na(x[4])){
x <- (as.numeric((x[1])))*60
}
if (x[4]=='min') {
x <- (as.numeric((x[1])))*60 + as.numeric((x[3]))
}
}
}
return(x)}