小编And*_*rea的帖子

删除整个数据框中的句点/点

我有一个包含来自世界各地的参与者的大型数据集。其中一些参与者使用点/句号/逗号输入数据来表示千位分隔符,但 R 将它们读取为逗号,这完全扭曲了我的数据......例如 1234 变成 1,234。

我想删除所有点/句号/逗号。我的数据完全由完整数字组成,因此任何地方都不应该有任何小数。

我尝试使用 stringr,但不太明白。这是一个(我希望)可重现的示例,其中包含我的数据的一小部分样本:

structure(
  list(
    chnb = c(10L, 35L, 55L),
    B1_1_77 = c(117.586,
                4022, 4.921),
    C1_1_88 = c(NA, 2206, 1.111),
    C1_1_99 = c(6.172,
                1884, 0),
    C1_3_99 = c(5.62, 129, 0)
  ),
  row.names = c(NA,-3L),
  class = c("tbl_df",
            "tbl", "data.frame")
)
Run Code Online (Sandbox Code Playgroud)

我试过这个:

prob1 <- prob %>% str_replace_all('\\.', '')
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

> prob
[1] "c(10, 35, 55)"         "c(117586, 4022, 4921)" "c(NA, 2206, 1111)"    
[4] "c(6172, 1884, 0)"      "c(562, 129, 0)"  
Run Code Online (Sandbox Code Playgroud)

它确实删除了这些点,但它给了我一个简单的列表,并且完全丢失了我的数据结构。在线搜索建议我这样做:

prob1 <- prob %>% mutate_all(list(str_replace(., '\\.', …
Run Code Online (Sandbox Code Playgroud)

r stringr dplyr

4
推荐指数
1
解决办法
9801
查看次数

标签 统计

dplyr ×1

r ×1

stringr ×1