根据 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 Score1 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 Score1 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 Ranks1 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 Ranks1 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
以上是 根据 R 数据框中的字符列值替换数值列值。 的全部内容, 来源链接: utcz.com/z/359914.html