【问题标题】:Removing brackets from a dataset从数据集中删除括号
【发布时间】:2014-10-23 09:11:44
【问题描述】:

我在 R 中导入了一个 10 列和 100 行的数据集。但在少数列中,有括号([])和逗号以及值。我怎样才能摆脱它们? 例如,考虑 4 列和 2 行之一。

V1  V2  V3   V4
3(  [4  ([5  8
(1  5   9   [10,

而我想要的是

V1  V2   V3  V4
3   4     5   8
1   5     9   10

【问题讨论】:

  • gsub?例如:gsub("\\(|\\[","","(4[").

标签: regex r gsub


【解决方案1】:

只需使用gsub:

mydf[] <- lapply(mydf, function(x) gsub("[][(),]", "", x))
mydf
#   V1 V2 V3 V4
# 1  3  4  5  8
# 2  1  5  9 10

除了lapply,你也可以使用as.matrix

mydf[] <- gsub("[][(),]", "", as.matrix(mydf))
mydf
#   V1 V2 V3 V4
# 1  3  4  5  8
# 2  1  5  9 10

【讨论】:

  • 或更笼统地说,df[] &lt;- lapply(df, gsub, pattern = "[[:punct:]]", replacement = "")
  • 您也可以使用unlist 代替as.matrix。不确定哪个更有效
  • @Ananda 但是有些列的值是 NA 。我怎样才能删除它们?
猜你喜欢
  • 2018-08-16
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2022-11-16
  • 2018-01-13
  • 2014-01-28
  • 2013-11-09
  • 2022-12-23
相关资源
最近更新 更多