在R数据框中,根据字符列的值替换数值列的值。
为了在R数据框中根据字符列的值替换数值列的值,我们可以使用带单方括号的子集和`%in%`运算符,并且值将使用`<−`赋值。
要了解如何做到这一点,请查看下面给出的示例:
示例1
以下代码片段创建一个样本数据框:
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Score<-sample(1:100,20)
df1<-data.frame(Class,Score)
df1创建了以下数据框
Class Score 1 Second 25 2 First 11 3 Second 63 4 Third 77 5 Third 62 6 Third 26 7 First 83 8 Third 57 9 First 15 10 Third 16 11 Second 7 12 First 87 13 First 35 14 First 91 15 First 40 16 Second 60 17 Second 81 18 Second 75 19 Second 56 20 Second 32
要在上面创建的数据框中将“Class”列中对应于“Third”的值替换为“Score”列中的35,请将以下代码添加到上面的代码片段中:
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Score<-sample(1:100,20)
df1<-data.frame(Class,Score)
df1$Score[df1$Class %in% "Third"]<-35
df1输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
Class Score 1 Second 25 2 First 11 3 Second 63 4 Third 35 5 Third 35 6 Third 35 7 First 83 8 Third 35 9 First 15 10 Third 35 11 Second 7 12 First 87 13 First 35 14 First 91 15 First 40 16 Second 60 17 Second 81 18 Second 75 19 Second 56 20 Second 32
示例2
以下代码片段创建一个样本数据框:
Country<-sample(c("UK","UK","USA","Japan","India"),20,replace=TRUE)
Ranks<-sample(1:5,20,replace=TRUE)
df2<-data.frame(Country,Ranks)
df2创建了以下数据框
Country Ranks 1 Japan 3 2 Japan 3 3 India 2 4 India 3 5 Japan 2 6 UK 1 7 Japan 5 8 UK 5 9 UK 1 10 UK 4 11 India 4 12 USA 1 13 UK 2 14 UK 5 15 USA 1 16 Japan 3 17 UK 1 18 India 4 19 Japan 3 20 Japan 5
要在上面创建的数据框中将“Country”列中对应于“India”和“Japan”的值替换为“Ranks”列中的3,请将以下代码添加到上面的代码片段中:
Country<-sample(c("UK","UK","USA","Japan","India"),20,replace=TRUE)
Ranks<-sample(1:5,20,replace=TRUE)
df2<-data.frame(Country,Ranks)
df2$Ranks[df2$Country %in% c("India","Japan")]<-3
df2输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
Country Ranks 1 Japan 3 2 Japan 3 3 India 3 4 India 3 5 Japan 3 6 UK 1 7 Japan 3 8 UK 5 9 UK 1 10 UK 4 11 India 3 12 USA 1 13 UK 2 14 UK 5 15 USA 1 16 Japan 3 17 UK 1 18 India 3 19 Japan 3 20 Japan 3
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP