如何将行的值换行到 R 中特定字符处的新行[重复]

问题描述 投票:0回答:1

我有一个带有值的示例数据框:

data <- structure(list(A = c("Date)", 
                            "Values"), B = c("2023-04-03", "Heat Capacity\nSpecific Heat Capacity\nHeat Index"
                            )), row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"
                            ))

输出:

> data
# A tibble: 2 × 2
  A      B                                                  
  <chr>  <chr>                                              
1 Date)  "2023-04-03"                                       
2 Values "Heat Capacity\nSpecific Heat Capacity\nHeat Index"

在输出中,B 列第 2 行中的值向右扩展。我希望第二行中的每个值都在新行中,只要有“ “。我尝试了stringr

但没有得到我想要的输出。

所需输出: 我希望最终输出位于 xlsx 文件中。因此,任何类型的 dplyr

stringr
 技术都会受到赞赏

r dplyr tidyverse stringr
1个回答
0
投票
如评论中所述,R 将特殊符号(如换行符的

\n

)视为字符串本身的一部分,因此通过解析/渲染数据,它将与新行一起出现。我不知道可以解析数据帧的控制台表示中的换行符的标准打印方法,但我很高兴了解它。

我认为更惯用的方法是将单独的行放入单独的行中:

tidyr::separate_rows(data, B, sep = "\n") Result # A tibble: 4 × 2 A B <chr> <chr> 1 Date) 2023-04-03 2 Values Heat Capacity 3 Values Specific Heat Capacity 4 Values Heat Index
    
© www.soinside.com 2019 - 2024. All rights reserved.