R语言 如何在R数据框架中替换列中的特定值

R语言 如何在R数据框架中替换列中的特定值

在这篇文章中,我们将看到如何在R编程语言中替换DataFrame中某一列的特定值。

方法1:使用Replace()函数

R语言中的replace()函数被用来替换指定的字符串向量x中的值,这些值在列表中给出了索引。

语法: replace(list , position , replacement_value)

它有三个参数,首先是列表名称,然后是需要替换的元素的索引,第三个参数是替换值。

例子

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, -1, 14, -2 , 10, 13)
Full_Marks<-c(20, 10, 44, 21, 24, 36, 20, 13)
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names, Marks, Full_Marks)
 
print("Original DF")
print(df)
 
print("Replaced Value")
 
#replaces the negative numbers with zeros
data<-replace(dfMarks, dfMarks<0, 0)
print(data)

输出

[1] "Original DF"
  Roll_No  Names Marks Full_Marks
1       1 Suresh    15         20
2       2   Sita    20         10
3       3    Anu     3         44
4       4 Manasa    -1         21
5       5   Riya    14         24
6       6 Ramesh    -2         36
7       7  Roopa    10         20
8       8   Neha    13         13
[1] "Replaced Value"
15 20 3 0 14 0 10 13

你可以看到在上面的代码中,我们把第二元素从 “Sonam “替换为 “Harish”。

方法2:使用逻辑条件

现在让我们看看我们如何使用逻辑条件替换列中的特定值。首先,让我们在R中创建数据框架

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names,Marks)
 
print(df)

输出:

如何在R数据框架中替换列中的特定值?

数据框架

现在,让我们来看看如何替换该列中的特定值。

例1: 在我们的数据框 “Sita “的标记是 20 ,让我们把它替换成 25。

语法: dataframe_namecolumn_name1[dataframe_namecolumn_name2==y]<-x

参数

  • y:它是帮助我们获取数据位置的列的值。
  • x:它是需要被替换的值

代码

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names, Marks)
 
dfMarks[dfNames == "Sita"] <- 25
# Column_name1 is Marks which we need to replace
 
# Print the modified data frame
print(df)

输出

如何在R数据框架中替换列中的特定值?

西塔标记被替换

在上面的代码中,你可以看到我们在数据框 “df “中使用了两列(标记,名字)。首先, ,我们获取需要替换的数据,在我们的例子中,我们需要替换一个名字为 “Sita “的人的标记。因此,我们通过标记栏,并停止与这些标记相连的名字是 “Sita “的地方。找到这个位置后,我们用25个标记来替换这些标记。

例2 :

让我们把 “Ramesh “的名字替换为 “Vikas “。

# List of Names
Names<-c("Suresh","Sita","Anu","Manasa",
         "Riya","Ramesh","Roopa","Neha")
 
# Roll numbers
Roll_No<-1:8
 
# Marks obtained
Marks<-c(15, 20, 3, 11, 14, 16, 10, 13) 
 
# df name of data frame
# Converting the list into dataframe
df<-data.frame(Roll_No,Names,Marks)
 
dfNames[dfNames=="Ramesh"]<-"Vikas"
 
# Prints the modified data frame
print(df)

输出

如何在R数据框架中替换列中的特定值?

Ramesh被Vikas取代

在上面的代码中,你可以看到我们正在获取名字为 “Ramesh “的一行,所以它就像在一个列表中进行线性搜索,以找到一个给定元素的位置,当我们找到这个位置后,我们用 “Vikas “替换这个名字。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程