我正在使用R
并希望隐藏以下内容:
"A,B"
到
"A","B" OR 'A','B'
我试过了str_replace()
,但那还没有成功。
请建议,谢谢。
更新
我在d.b尝试了建议的答案。虽然它有效,但我没有意识到我应该分享它,我将使用上面的解决方案vector
。我需要将data
中的值与"A,B"
进行拆分,以便将其用作vector
。
使用strsplit
> data
[1] "A,B"
> test <- strsplit(x = data, split = ",")
> test
[[1]]
[1] "A" "B"
上面test
上面的不会有用,因为我无法将其用于以下内容:
> output_1 <- c(test)
> outputFinalData <- outputFinal[outputFinal$Column %in% output_1,]
上述过程 outputFinalData
为空。但是当我这样做时不是空的:
> output_2 <- c("A", "B")
> outputFinalData <- outputFinal[outputFinal$Column %in% output_2,]
此外,output_1
和output_2
不相同:
> output_1
[[1]]
[1] "Bin_14" "Bin_15"
> output_2
[1] "Bin_14" "Bin_15"
> output_1 == output_2
[1] FALSE FALSE
答案 0 :(得分:1)
使用strsplit
:
> data = "A,B"
> strsplit(x=data,split=",")
[[1]]
[1] "A" "B"
请注意,它会返回带有矢量的列表。列表长度为1,因为您要求它拆分一个字符串。如果你要求它拆分两个字符串,你会得到一个长度为2的列表:
> data = c("A,B","Foo,bar")
> strsplit(x=data,split=",")
[[1]]
[1] "A" "B"
[[2]]
[1] "Foo" "bar"
所以,如果你知道你只有一件事要分开,你可以通过获取第一个元素获得部分的向量:
> data = "A,B"
> strsplit(x=data,split=",")[[1]]
[1] "A" "B"
然而,一次性加载拆分并将这些位放在矩阵中可能更有效。只要你可以确定所有部分分成相同数量的部分,那么就像:
> data = c("A,B","Foo,bar","p1,p2")
> do.call(rbind,(strsplit(x=data,split=",")))
[,1] [,2]
[1,] "A" "B"
[2,] "Foo" "bar"
[3,] "p1" "p2"
>
获取矩阵列中的两个部分,然后您可以将其添加到数据框中,如果这是您需要的。