r - 单独的行在结果周围生成引号
问题描述
separate_rows
"
在运算后在结果值周围生成引号 ( )。这是正常行为吗?如何在同一操作中防止它在操作后不显式删除它们?
df <- data.frame(a = c("c_1", "c_2", "c_3", "c_4", "c_5"),
b = c("a (+1)", "b (+2)", "a (+2), c (+5)", "e (+2)", "b (+2), e (+5)"))
a b
1 c_1 a (+1)
2 c_2 b (+2)
3 c_3 a (+2), c (+5)
4 c_4 e (+2)
5 c_5 b (+2), e (+5)
df %>% tidyr::separate_rows(b, sep = ",", convert = TRUE)
# # A tibble: 7 x 2
# a b
# <chr> <chr>
# 1 c_1 "a (+1)"
# 2 c_2 "b (+2)"
# 3 c_3 "a (+2)"
# 4 c_3 " c (+5)"
# 5 c_4 "e (+2)"
# 6 c_5 "b (+2)"
# 7 c_5 " e (+5)"
问题不在于将一行拆分为多行。我的尝试中已经显示了它,并且代码可以实现它。
解决方案
那些引号并不像您想象的那样,这正是tidyverse打印的方式 - 试图表明存在空格。见下文:
library(tidyverse)
x1 <- df %>% separate_rows(b, sep = ",", convert = TRUE)
x2 <- as.data.frame(x1)
x1
# # A tibble: 7 x 2
# a b
# <chr> <chr>
# 1 c_1 "a (+1)"
# 2 c_2 "b (+2)"
# 3 c_3 "a (+2)"
# 4 c_3 " c (+5)"
# 5 c_4 "e (+2)"
# 6 c_5 "b (+2)"
# 7 c_5 " e (+5)"
x2
# a b
# 1 c_1 a (+1)
# 2 c_2 b (+2)
# 3 c_3 a (+2)
# 4 c_3 c (+5)
# 5 c_4 e (+2)
# 6 c_5 b (+2)
# 7 c_5 e (+5)
identical(x1$b, x2$b)
# [1] TRUE
推荐阅读
- visual-studio - Xamarin.Forms 应用程序在更新后崩溃
- python - 如何在python中围绕中心点旋转图形
- json - 如何以 Angular 6 读取 JSON 文件
- python - 从 python 中的 sox 获取 .wav 的持续时间
- php - PHPMailer 不会发送电子邮件
- ios - 如何解决 --Ignored(用于导致先前/过多的 GPU 错误)(IOAF 代码 4)
- java - SharedClassURLHelperImpl 上的线程块
- php - 使用 PHP Mailer 发送电子邮件
- laravel - Laravel Eloquent 错误(SQLSTATE [22P02]:无效的文本表示:7 错误:整数的输入语法无效)
- java - 为我的程序重新绑定 alt f4