根据函数,我们可以循环遍历元素,然后应用
sapply(as.character(data$timeString), convertTime)
# 17:30:00 13:00:00 19:30:00
#0.7291667 0.5416667 0.8125000
而不是
sapply
循环在函数外,可以更改函数
convertTime2 <- function(ttime) {
ttime2 <- strsplit(ttime,":")
sapply(ttime2, function(x) {x1 <- as.numeric(x)
(x1[1] + x1[2]/60)/24
})
}
convertTime2("11:30:00")
#[1] 0.4791667
convertTime2(as.character(data$timeString))
#[1] 0.7291667 0.5416667 0.8125000
这个
apply
将不起作用,因为
data$timeString
是一个
vector
或数据集列和
申请
需要一个维度对象,即
matrix
或
data.frame
。