📅  最后修改于: 2023-12-03 15:24:49.579000             🧑  作者: Mango
在 R 语言中,我们经常需要对数据框进行一系列的数据处理。一种常见的操作是根据数据框的列值更改行值。本文将介绍如何通过 R 语言实现这种操作。
如果我们想根据数据框的某一列满足条件,将另一列的值更改为特定的值,可以使用以下代码:
# 创建数据框
df <- data.frame(id = 1:5, grade = c(80, 85, 70, 90, 75))
# 更改满足条件的行的值
df$grade[df$grade < 80] <- 80
这段代码会将数据框 df
中 grade
列中小于 80 的值都更改为 80。运行后,数据框的效果如下所示:
id grade
1 1 80
2 2 85
3 3 80
4 4 90
5 5 80
在某些场景下,我们需要根据一个或多个列满足条件,同时更改数据框中的多列值。以下是一个示例:
# 创建数据框
df <- data.frame(id = 1:5, grade1 = c(80, 85, 70, 90, 75), grade2 = c(90, 80, 70, 85, 75))
# 更改满足条件的行的值
df[df$grade1 < 80 & df$grade2 > 80, c("grade1", "grade2")] <- c(80, 60)
这段代码会将数据框 df
中同时满足以下两个条件的行的 grade1
和 grade2
列值更改为 80 和 60:
grade1
列的值小于 80grade2
列的值大于 80运行后,数据框的效果如下所示:
id grade1 grade2
1 1 80 90
2 2 85 80
3 3 70 70
4 4 90 85
5 5 80 60
除了根据条件更改行值之外,我们还可以通过行名称直接更改行值。以下是一个示例:
# 创建数据框
df <- data.frame(id = 1:5, grade1 = c(80, 85, 70, 90, 75), grade2 = c(90, 80, 70, 85, 75))
# 更改行名称为 3 的值
df["3", "grade1"] <- 80
这段代码会将数据框 df
中第 3 行的 grade1
列值更改为 80。运行后,数据框的效果如下所示:
id grade1 grade2
1 1 80 90
2 2 85 80
3 3 80 70
4 4 90 85
5 5 75 75
本文介绍了如何通过 R 语言根据数据框中的列值更改行值。无论是通过条件还是通过名称,都可以用简单的代码实现。