【发布时间】:2021-10-22 07:23:59
【问题描述】:
我有一个 df,其中有一个特殊字符。我想删除它,但不确定如何删除。我试过[:graph:]、[:print:] 和<U+00AE>。但没有任何效果。我该怎么办?是否有办法一次性去除数据集中的类似问题,比如®?
df<-structure(list(df = structure(c(1L, 4L, 2L, 3L), .Label = c("Cabozantinib",
"Left nephrectomy", "Left Superficial Inguinal Lymph Node Dissection",
"XmAb<U+00AE>20717 (Duet-2 study - a humanized bispecific monoclonal antibody that binds PD1 and CTLA4)"
), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))
【问题讨论】:
-
也许
dplyr::mutate(df, df = stringr::str_remove(df, "\\x{00AE}"))会起作用? -
它可能需要一些替换然后转换为打印,即
library(stringi);stri_unescape_unicode(str_replace_all(df$df, "<U\\+([^>]+)\\>", "\\\\u\\1"));[1] "Cabozantinib" [2] "XmAb®20717 (Duet-2 study - a humanized bispecific monoclonal antibody that binds PD1 and CTLA4)"... -
如果我转换为
®,那我应该如何删除它?如果我使用gsub("[[:print:]]", "",df$df ),那么它将全部删除。事实上我的原始数据有®。但是当我把它读成 R 时,它把它变成了这个奇怪的租船者。有什么建议吗? -
@Stataq 将其与符号保持原样而不是删除它不是更好吗。
-
我在构建 wb 并将数据再次输出到 excel 时遇到了问题。我测试了很多次,发现这是停止文件的记录。无论如何要解决它?