如何在 R 中使用 setNames 更改单列的名称?

要使用 setNames 更改单个列的名称,我们需要指定需要更改的列名称。

例如,如果我们有一个名为 df 的数据框,其中包含三列 Var1、var2 和 Var3,并且我们想将 var2 更改为 Var2,那么我们可以使用如下命令:

setNames(df,replace(names(df),names(df)=="var2","Var2"))

示例 1

以下代码段创建了一个示例数据框 -

x<-rnorm(20)

x1<-rnorm(20)

df1<-data.frame(x,x1)

df1

输出结果

创建以下数据框 -

       x            x1

1   0.885142314  -0.18025261

2  -0.048954839   0.87720112

3   0.896212666  -0.53714354

4   0.539095496  -0.19380810

5  -1.706763224   0.79608177

6  -1.628122107  -1.17570164

7  -1.000949495   0.09243436

8   1.344899293  -0.34504828

9   0.290659812   0.57493564

10 -1.366119792   0.39442545

11 -0.002044629  -0.60124159

12  1.056147083  -0.05670359

13  1.245766258  -0.91321178

14  1.202689649   0.42440362

15 -1.238028330  -1.31709063

16  0.962875354   1.43057923

17  0.692604922  -0.60277152

18  1.721352577   0.67629134

19 -2.373829503  -0.09540660

20  0.031280271   1.90790870

要将列 x1 的名称更改为 y,请将以下代码添加到上述代码段中 -

x<-rnorm(20)

x1<-rnorm(20)

df1<-data.frame(x,x1)

setNames(df1,replace(names(df1),names(df1)=="x1","y"))

输出结果

如果您将上述所有代码作为单个程序执行,它会生成以下输出 -

         x           y

1   0.885142314  -0.18025261

2  -0.048954839   0.87720112

3   0.896212666  -0.53714354

4   0.539095496  -0.19380810

5  -1.706763224   0.79608177

6  -1.628122107  -1.17570164

7  -1.000949495   0.09243436

8   1.344899293  -0.34504828

9   0.290659812   0.57493564

10 -1.366119792   0.39442545

11 -0.002044629  -0.60124159

12  1.056147083  -0.05670359

13  1.245766258  -0.91321178

14  1.202689649   0.42440362

15 -1.238028330  -1.31709063

16  0.962875354   1.43057923

17  0.692604922  -0.60277152

18  1.721352577   0.67629134

19 -2.373829503  -0.09540660

20  0.031280271   1.90790870

示例 2

以下代码段创建了一个示例数据框 -

a<-rpois(20,5)

a_2<-rpois(20,2)

df2<-data.frame(a,a_2)

df2

输出结果

创建以下数据框 -

   a a_2

1  5  7

2  3  2

3  7  2

4  5  0

5  6  0

6  4  1

7  8  3

8  6  1

9  7  2

10 6  3

11 4  0

12 3  2

13 5  0

14 7  2

15 3  1

16 9  3

17 2  2

18 4  1

19 2  7

20 1  1

要将 a_2 列的名称更改为 b,请将以下代码添加到上述代码段中 -

a<-rpois(20,5)

a_2<-rpois(20,2)

df2<-data.frame(a,a_2)

df2<-data.frame(a,a_2) 

setNames(df2,replace(names(df2),names(df2)=="a_2","b"))

输出结果

如果您将上述所有代码作为单个程序执行,它会生成以下输出 -

   a  b

1  5  7

2  3  2

3  7  2

4  5  0

5  6  0

6  4  1

7  8  3

8  6  1

9  7  2

10 6  3

11 4  0

12 3  2

13 5  0

14 7  2

15 3  1

16 9  3

17 2  2

18 4  1

19 2  7

20 1  1

以上是 如何在 R 中使用 setNames 更改单列的名称? 的全部内容, 来源链接: utcz.com/z/361944.html

回到顶部