遍历向量并将该值用作dataframe的列

遍历向量并将该值用作dataframe的列,r,dataframe,cbind,R,Dataframe,Cbind,我使用这个for循环来标准化列中的数据。这里m_sel_cols是一个带有列名的向量 for(i in m_sel_cols) { cal <- work_data1$i cal <- ((cal-mean(cal))/sd(cal)) } for(我用m_sel_cols表示) { cal您可以使用sapply在列中“循环” xy <- data.frame(a = 1:3, b = 4:6, c = 7:9) sapply(

我使用这个for循环来标准化列中的数据。这里m_sel_cols是一个带有列名的向量

for(i in m_sel_cols)
    {
        cal <- work_data1$i
        cal <- ((cal-mean(cal))/sd(cal))
    }
for(我用m_sel_cols表示)
{
cal您可以使用
sapply
在列中“循环”

xy <- data.frame(a = 1:3, b = 4:6, c = 7:9)
sapply(xy, FUN = function(x) (x - mean(x))/sd(x))

      a  b  c
[1,] -1 -1 -1
[2,]  0  0  0
[3,]  1  1  1

我们可以使用
tidyverse

library(tidyverse)
xy %>%
     mutate_all(scale)
#   a  b  c
#1 -1 -1 -1
#2  0  0  0
#3  1  1  1
数据
xy我没有看到你的
scale
。那是更新后的答案吗?@akrun yupp,更新后我重新加载页面时出现了你的答案。
> scale(xy)
      a  b  c
[1,] -1 -1 -1
[2,]  0  0  0
[3,]  1  1  1
attr(,"scaled:center")
a b c 
2 5 8 
attr(,"scaled:scale")
a b c 
1 1 1 
library(tidyverse)
xy %>%
     mutate_all(scale)
#   a  b  c
#1 -1 -1 -1
#2  0  0  0
#3  1  1  1
xy <- data.frame(a = 1:3, b = 4:6, c = 7:9)