如何在r中使用replace()函数


R 中的replace()函数可用于用新值替换向量的特定元素。

该函数使用以下语法:

替换(x,列表,值)

金子:

  • x :向量名称
  • list : 要替换的元素
  • :替换值

以下示例展示了如何在实践中使用此功能。

示例 1:替换向量中的值

以下代码演示如何将向量位置 2 中的元素替换为新值 50:

 #define vector of values
data <- c(3, 6, 8, 12, 14, 15, 16, 19, 22)

#define new vector with a different value in position 2
data_new <- replace(data, 2, 50)

#view new vector
data_new

[1] 3 50 8 12 14 15 16 19 22

请注意,位置 2 中的元素已更改,但原始向量中的所有其他值均保持不变。

示例2:替换向量中的多个值

下面的代码展示了如何用新值替换向量的多个元素的值:

 #define vector of values
data <- c(2, 4, 6, 8, 10, 12, 14, 16)

#define new vector with different values in position 1, 2, and 8
data_new <- replace(data, c(1, 2, 8), c(50, 100, 200))

#view new vector
data_new

[1] 50 100 6 8 10 12 14 200

请注意,位置 1、2 和 8 中的元素都已更改。

示例3:替换数据框中的值

下面的代码展示了如何替换数据框中满足特定条件的某一列中的值:

 #define data frame
df <- data. frame (x=c(1, 2, 4, 4, 5, 7),
                 y=c(6, 6, 8, 8, 10, 11))

#view data frame
df

  xy
1 1 6
2 2 6
3 4 8
4 4 8
5 5 10
6 7 11

#replace values in column 'x' greater than 4 with a new value of 50
df$x <- replace(df$x, df$x > 4, 50)

#view updated data frame
df

   xy
1 1 6
2 2 6
3 4 8
4 4 8
5 50 10
6 50 11

“x”列中大于 4 的每个值均已替换为值 50。

数据框中的所有其他值保持不变。

其他资源

以下教程解释了如何使用 R 中的其他常用函数:

如何在 R 中使用 tabulate() 函数
如何在 R 中使用 split() 函数
如何在 R 中使用 match() 函数
如何在R中使用replicate()函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注