如何在 R 数据框列中将用文字表示的数字替换为数字?
为了将 R 数据框列中用文字表示的数字替换为数字,我们可以使用 `within` 函数。
例如,如果我们有一个名为 `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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP