【发布时间】:2019-04-22 02:24:38
【问题描述】:
我有一个数据框,其中包含均值 (sd) 的字符列,如下所示:
table <- tribble(
~var1, ~var2,
#------------
"27.0 (3.1)", "171.4 (9.0)",
"27.0 (3.2)", "176.8 (7.2)",
"27.1 (3.0)", "165.0 (6.2)"
)
我想将每一列分成两列,一列用于平均值,另一列用于标准差。比如:
table_split <- tribble(
~var1_mean, ~var1_sd, ~var2_mean, ~var2_sd,
#---------------------
27.0, 3.1, 171.4, 9.0,
27.0, 3.2, 176.8, 7.2,
27.1, 3.0, 165.0, 6.2
)
到目前为止,我已经尝试过tidyr::separate(table, var1, c("var1_mean", "var1_sd"), sep = " \\("),它只是部分起作用,因为它不会删除结尾括号。
【问题讨论】:
-
table %>% separate(var1, c("var1_mean", "var1_sd"), sep = " \\(") %>% mutate(var1_sd = gsub(")", "", var1_sd))?也就是说,只需使用gsub添加mutate调用即可删除最终的)。