Re: [问题] 资料转换

楼主: obarisk (OSWALT)   2015-11-15 13:04:20
不想用 for
library(magrittr)
# 不肯定 da 是一个 tbl_df 有没有问题,da 是一个 data.frame 不会有问题
z2 <- da[, 'z'] %>% {.[ 1:length(.)-1 ] != .[ 2:length(.) ]} %>% c(T, .) %>%
cumsum
tapply(da[, 'x'], z2, simplify=F)
※ 引述《Rose9305 (台产零零柒)》之铭言:
: [问题类型]:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
: [软件熟悉度]:
: 新手(没写过程式,R 是我的第一次)
: [问题叙述]:
: 资料转换
: 我有个资料csv档,里面内容大概如下 :
: x y z
: 55 0.2 1
: 44 0.6 1
: 78 0.7 0
: 46 0.8 0
: 98 0.9 1
: 47 0.4 1
: 46 0.5 1
: 想(限)用 ''for 循环''转换成只取x,z并以z重排x,如下:
: 1 55 44
: 0 78 46
: 1 98 47 46
: 把 z=1 排成一列,一遇到 z=0 又排成一列,再读到1又排成一列这样下去
: 不知道要如何用for循环来把资料转换成上述。

Links booklink

Contact Us: admin [ a t ] ucptt.com