0
> string1

[[1]]
[1] " DEV U 1"

[[2]]
[1] " DEV U 3G"

[[3]]
[1] " DEV U 4G"

[[4]]
[1] " THY 4M"

[[5]]
[1] " THY  5M"

[[6]]
[1] " THY 6G"

> string2

[[1]]
character(0)

[[2]]
[1] "3G"

[[3]]
[1] "4G"

[[4]]
[1] "4M"

[[5]]
[1] "5M"

[[6]]
[1] "6G"

> str(string1)
List of 6
 $ : chr " DEVE 1"

> str(string2)
List of 6
 $ : chr(0) 
 $ : chr "3G"

我想要一个输出来获取字符串,因为我想同时减去两个列表以删除公共区域。

 [1] " DEV U 1"  

[[2]]
[1] " DEV U"

[[3]]
[1] " DEV U"

[[4]]
[1] " THY"

[[5]]
[1] " THY"

[[6]]
[1] " THY"
4

1 回答 1

2

如果您需要按元素执行此操作,您可以使用mapply

string1 <- list("DEV U 1","DEV U 3G","DEV U 4G","DEV U 3G")
string2 <- list(character(0),"3G","4G","5G")

mapply(function(x,y){
  if(!identical(x,character(0)))
    sub(x,'',y)
  else
    y
  },string2,string1)

#[1] "DEV U 1"  "DEV U "   "DEV U "   "DEV U 3G"
于 2016-02-15T16:13:12.353 回答