r - 用 N 倍分隔符分隔字符串
问题描述
我有用 . 分隔的字符向量\n
。
x <- "Breakdown\nttm\n31/12/2020\n31/12/2019\n31/12/2018\n31/12/2017\nTotal revenue\n7,37,80,000\n7,36,21,000\n7,71,47,000\n7,95,90,000\n7,91,39,000\nCost of revenue\n3,79,22,000\n3,80,46,000\n4,06,59,000\n4,26,55,000\n4,29,13,000\nGross profit\n3,58,57,000\n3,55,75,000\n3,64,88,000\n3,69,36,000\n3,62,27,000"
所需的输出应为数据帧格式。它是固定的 - 总会有 6 列。前 6 个值将是标题。
解决方案
拆分字符串\n
,使用前 6 个值作为标题,其余值作为数据帧的一部分,按行填充它们。
tmp <- unlist(strsplit(x, '\n'))
data.frame(matrix(tail(tmp, -6), ncol = 6, byrow = TRUE,
dimnames = list(NULL, head(tmp, 6))), check.names = FALSE)
# Breakdown ttm 31/12/2020 31/12/2019 31/12/2018 31/12/2017
#1 Total revenue 7,37,80,000 7,36,21,000 7,71,47,000 7,95,90,000 7,91,39,000
#2 Cost of revenue 3,79,22,000 3,80,46,000 4,06,59,000 4,26,55,000 4,29,13,000
#3 Gross profit 3,58,57,000 3,55,75,000 3,64,88,000 3,69,36,000 3,62,27,000
推荐阅读
- flutter - Flutter 运行卡在 Preparing “Install Android SDK Build-Tools 28.0.3 (revision: 28.0.3)”
- android - 片段未在后台堆栈中注册
- css - 为什么具有绝对位置的内联元素的行为不像块级元素?
- python - 在 django 中仅打印第一个返回 HttpResponse
- python - 从字幕文件中删除不在单词列表中的单词(常用单词)
- swiftui - 如何在 SwiftUI 中读取和过滤大型 Realm 数据集?
- asp.net-core - 在 PostAsJsonAsync 上接收空响应
- java - Java LWJGL OpenGL 3 将 3d 点转换为 2d 点
- powershell - Powershell 不返回哈希表中的键值
- mongoose - 如何根据其他 fieldName mongooseSchema 定义 slug