作者f496328mm (123)
看板R_Language
标题Re: [问题] N*1资料 转 a*b格式
时间Tue Aug 22 22:30:07 2017
※ 引述《playaround (打滚)》之铭言:
: [问题类型]:
: N*1的资料 转换成M*16
: [软体熟悉度]:
: R初学
: [问题叙述]:
: 原始资料(csv档)资料大致是这样:
: time1
: a = 5
: b = 70
: c = "rest"
: ...
: ...
: time2
: a = 8
: b = 15
: c = "rest_2"
: ...
: ...
: 想要以16列为单位整理成M*16的矩阵
: 第一列是col标题
: 和每列前面的a,b,c等是row标题
: 类似这样:
: time a b c ...
: time1 5 70 "rest"
: time2 8 15 "rest_2"
: 有找一些指令好像都是以同col内同样资料来分组
: 所以不太知道目前需要做的这功能要怎麽处理
: 手机发文,排版请见谅
: 感谢大家
: -----
: Sent from JPTT on my Xiaomi MI 5.
library(data.table)
library(dplyr)
setwd("d:/")
data = readLines("test.txt", n = -1)
var.name = data[2:4] %>% substr(.,1,1)
data = data %>%
sub('a = ','',.) %>%
sub('b = ','',.) %>%
sub('c = ','',.) %>%
gsub('"','',.)
data = matrix(data,ncol=2) %>%
t %>%
data.table
colnames(data) = c('time',var.name)
data
#----------------------------------------------------
执行结果
http://imgur.com/Sjdnc64
先用 matrix 处理,最後再转成 data.table,之後变数型态再改成自己要的就好了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.52.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1503412210.A.D18.html
※ 编辑: f496328mm (114.36.52.141), 08/22/2017 22:31:18
※ 编辑: f496328mm (114.36.52.141), 08/22/2017 22:31:37
※ 编辑: f496328mm (114.36.52.141), 08/22/2017 22:44:01