根据 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

以上是 根据 R 数据框中的字符列值替换数值列值。 的全部内容, 来源链接: utcz.com/z/359914.html

回到顶部