执行功能时出现子集问题

时间:2020-09-01 21:42:43

标签: r

我正在尝试定义一个函数,这将使我能够标准化变量。我想将每个观察相对于其特定子行业进行标准化。输出给我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))

1 个答案:

答案 0 :(得分:0)

您的目标已经有功能-如scale。也许您可以使用这个。

library(dplyr)

dat1 <- dat1 %>%
  group_by(Industry) %>%
  mutate(across(2:8, ~ scale(., center = TRUE, scale = FALSE)))