R语言 替换数据框列中的值

R语言 替换数据框列中的值

在这篇文章中,我们将讨论如何在R编程语言中替换数据框架列的值。

每当我们处理一些数据时,我们有必要从中得出准确的结论。现在想象一下,如果我们的数据中有一些缺失的值(这发生在数据框架的某一列中缺少一些观察值,或者包含一个字符值而不是一个数值),或者说数据集中有一些负值,这可能导致错误的准确性,也会影响分析结果。因此,为了避免这些,我们可以使用以下方法替换这些值。

例1.用 “0 “替换数据框中的 “NA “值

首先,我们用列名创建一个表。名称、ID、CPI,并在各列中添加各自的值

Name <- c("Amy", "Celine", "Lily",
          "Irene", "Rosy", "Tom", "Kite")
ID <- c(123, NA, 134, NA, 166, 129, 178)
CPI <- c(8.5, 8.3, 7.8, NA, 6.9, 9.1, 5.6)
  
details <- data.frame(Name, ID, CPI)
View(details)

输出

用R语言替换数据框列中的值

将数值从NA值替换为0

details[is.na(details)] <- 0
  
# views the newly modified table
View(details)

输出

用R语言替换数据框列中的值

例2.用均值替换数据框中的NA值

我们用下面的列和值创建一个表,和前面解释的一样。

RollNo <- c(24,23,NA,18)
ID <- c(123, 156, 134, 148)
CPI <- c(8.5,8.3,7.8,NA)
  
secR1 <- data.frame(RollNo,ID,CPI)
View(secR1)

输出

用R语言替换数据框列中的值

现在将NA值替换为平均值

ex <- secR1
ex
  
# replacing the NA value with the mean value
exRollNo[is.na(exRollNo)]<-mean(ex$RollNo, na.rm = T)
round(ex, digits = 0)

输出

用R语言替换数据框列中的值

输出 -> 卷号中的NA,用平均值代替。

例3.用0s(零)替换负值

首先,我们创建一个表,就像我们之前做的那样。

RollNo <- c(24,23,16,-18)
ID <- c(123,156,-134,148)
CPI <- c(8.5,8.3,7.8,8.9)
marks <- c(-54,70,-20,9)
  
secR1 <- data.frame(RollNo,ID,CPI,marks)
View(secR1)

输出

用R语言替换数据框列中的值

现在将负值改为0

secR1[secR1 < 0] <- 0     
view(secR1)

输出

用R语言替换数据框列中的值

例4.使用replace()方法

replace() 函数,用values中给定的索引替换x中的值。如果有必要,value中的值会被回收。

语法: replace(x, list, values)

参数

  • x: 向量
  • list: 一个索引向量
  • values: 替换值

例子

# creates a table
RollNo <- c(24,23,NA,18)
ID <- c(123, 156, 134, 148)
CPI <- c(8.5,8.3,7.8,NA)
secR1 <- data.frame(RollNo,ID,CPI)   
View(secR1)  
  
# 2nd element of the list, hence 2, replacement value is 45
secR1<- replace(RollNo, 2, 45)     
View(secR1)

输出

用R语言替换数据框列中的值

最终产出

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程