Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用不同的列值替换dataframe中的字符串_R_String_Replace - Fatal编程技术网

用不同的列值替换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

到目前为止你尝试了什么?这个网站上有很多资源来执行这样的操作。可能会重复您到目前为止尝试了什么?此站点上有大量资源可执行此操作。可能重复尝试