如何用 R 数据框列中的数字替换用单词写的数字?

要用 R 数据框列中的数字替换用单词写的数字,我们可以在函数内使用。

例如,如果我们有一个名为 df 的数据框,其中包含一列 X,其中包含 1 到 5 的数字,然后我们可以使用以下命令将它们转换为数字 -

within(df,X<-factor(X,labels=c(1,2,3,4,5)))

示例 1

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

x<-sample(c("First","Second","Third"),20,replace=TRUE)

df1<-data.frame(x)

df1

创建以下数据框 -

     x

1  Second

2  First

3  Third

4  Third

5  Third

6  Second

7  Third

8  First

9  Second

10 Second

11 Second

12 Second

13 Second

14 Third

15 Second

16 First

17 Third

18 Third

19 First

20 Third

要将 x 中的单词替换为数字,请将以下代码添加到上述代码段中 -

x<-sample(c("First","Second","Third"),20,replace=TRUE)

df1<-data.frame(x)

within(df1,x<-factor(x,labels=c(1,2,3)))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

   x

1  2

2  1

3  3

4  3

5  3

6  2

7  3

8  1

9  2

10 2

11 2

12 2

13 2

14 3

15 2

16 1

17 3

18 3

19 1

20 3

示例 2

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

y<-sample(c("I","II","III","IV"),20,replace=TRUE)

df2<-data.frame(y)

df2

创建以下数据框 -

     y

1    I

2  III

3    I

4   IV

5    I

6    I

7  III

8   II

9    I

10   I

11 III

12 III

13  IV

14   I

15  II

16   I

17  II

18 III

19  IV

20   I

要将 y 中的罗马数字替换为数字,请将以下代码添加到上述代码段中 -

y<-sample(c("I","II","III","IV"),20,replace=TRUE)

df2<-data.frame(y)

within(df2,y<-factor(y,labels=c(1,2,3,4)))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

   y

1  1

2  3

3  1

4  4

5  1

6  1

7  3

8  2

9  1

10 1

11 3

12 3

13 4

14 1

15 2

16 1

17 2

18 3

19 4

20 1

以上是 如何用 R 数据框列中的数字替换用单词写的数字? 的全部内容, 来源链接: utcz.com/z/322652.html

回到顶部