我正在尝试定义一个函数,这将使我能够标准化变量。我想将每个观察相对于其特定子行业进行标准化。输出给我NA ...
代码如下:
standard<-function(x){
return((x - mean(subset(dat1,Industry=="x"),na.rm=TRUE)))
}
std_data<-as.data.frame(apply(dat1[2:8],2,standard))
答案 0 :(得分:0)
您的目标已经有功能-如scale
。也许您可以使用这个。
library(dplyr)
dat1 <- dat1 %>%
group_by(Industry) %>%
mutate(across(2:8, ~ scale(., center = TRUE, scale = FALSE)))