我是新的R用户。我一直试图计算两个时间点之间的时差,并计算一个百分比值(habitual_efficiency)。使用此百分比值,我需要为新变量(i)分配特定值。
time_difference1 <- as.numeric(difftime(strptime(var$psqi_1_bedtime, "%H:%M"), strptime(var$psqi_3_waketime, "%H:%M")))
timedifference <- abs (24 - time_difference1)
var4 <- data.frame (habitual_efficiency = 1: nrow(var))
transmute (var, habitual_efficiency = (var$psqi_4_sleeptime*100/timedifference))
var4 <- data.frame (comp4score = 1: nrow(var))
var4 <- var4 %>% mutate(comp4score = case_when(var$habitual_efficiency > 84.00 ~ 0, var$habitual_efficiency > 74.00 & var$habitual_efficiency <= 84.00 ~ 1, var$habitual_efficiency > 65.00 & var$habitual_efficiency <= 74.00 ~ 2, var$habitual_efficiency <= 65.00 ~ 3, TRUE ~ NaN
)
)
var4
当我运行此代码时,我不断收到以下错误:mutate_impl(.data,dots)中的错误:
列habitual_efficiency
必须是长度430(行数)或一个,而不是0
mutate_impl(.data,dots)出错:
列i
必须是长度430(行数)或一个,而不是0
我将如何解决这个问题?