用不同的列值替换dataframe中的字符串
我有一个看起来像:用不同的列值替换dataframe中的字符串,r,string,replace,R,String,Replace,我有一个看起来像: Tester Type Subject Type Time 1 2 3 TType1 SType1 Day 1 11 2 1 TType1 SType2 Day 1 3 2 13 TType1 SType1 Day 2 2 3
Tester Type Subject Type Time 1 2 3
TType1 SType1 Day 1 11 2 1
TType1 SType2 Day 1 3 2 13
TType1 SType1 Day 2 2 3 15
TType2 SType3 Day 2 1 4 3
TType3 SType3 Day 2 2 3 4
TType1 SType1 Day 1 7 2 2
TType2 SType1 Day 2 2 6 7
我试图在Subject Type列中找到所有stype1,并用Tester Type中的值替换它。因此,我的输出如下所示:
Tester Type Subject Type Time 1 2 3
TType1 TType1 Day 1 11 2 1
TType1 SType2 Day 1 3 2 13
TType1 TType1 Day 2 2 3 15
TType2 SType3 Day 2 1 4 3
TType3 SType3 Day 2 2 3 4
TType1 TType1 Day 1 7 2 2
TType2 TType2 Day 2 2 6 7
我们可以使用
ifelse
ifelse(df$SubjectType == "SType1", df$TesterType, df$SubjectType)
# [1] "TType1" "SType2" "TType1" "SType3" "SType3" "TType1" "TType2"
假设
df
作为数据帧 我们可以使用ifelse
ifelse(df$SubjectType == "SType1", df$TesterType, df$SubjectType)
# [1] "TType1" "SType2" "TType1" "SType3" "SType3" "TType1" "TType2"
假设
df
作为数据帧 我们可以使用数据表。我们将“data.frame”转换为“data.table”(setDT(df1)
),使用逻辑条件作为“i”,我们将(:=
)与“i”中的行对应的“SubjectType”指定为“TesterType”
library(data.table)
setDT(df1)[SubjectType=='SType1', SubjectType := TesterType]
df1
# TesterType SubjectType Time X1 X2 X3
#1: TType1 TType1 Day 1 11 2 1
#2: TType1 SType2 Day 1 3 2 13
#3: TType1 TType1 Day 2 2 3 15
#4: TType2 SType3 Day 2 1 4 3
#5: TType3 SType3 Day 2 2 3 4
#6: TType1 TType1 Day 1 7 2 2
#7: TType2 TType2 Day 2 2 6 7
我们可以使用data.table
。我们将“data.frame”转换为“data.table”(setDT(df1)
),使用逻辑条件作为“i”,我们将(:=
)与“i”中的行对应的“SubjectType”指定为“TesterType”
library(data.table)
setDT(df1)[SubjectType=='SType1', SubjectType := TesterType]
df1
# TesterType SubjectType Time X1 X2 X3
#1: TType1 TType1 Day 1 11 2 1
#2: TType1 SType2 Day 1 3 2 13
#3: TType1 TType1 Day 2 2 3 15
#4: TType2 SType3 Day 2 1 4 3
#5: TType3 SType3 Day 2 2 3 4
#6: TType1 TType1 Day 1 7 2 2
#7: TType2 TType2 Day 2 2 6 7
到目前为止你尝试了什么?这个网站上有很多资源来执行这样的操作。可能会重复您到目前为止尝试了什么?此站点上有大量资源可执行此操作。可能重复尝试