找回密码
 立即注册
查看: 3029|回复: 1

关于r语言编程问题

[复制链接]
发表于 2014-4-3 16:46:19 | 显示全部楼层 |阅读模式
您好  我想用r语言编程实现由表一到表二的转化:
表一
SI  EI  Type
2   3     0
3   7     0
7   8     1
8   10   1
10 11   1
11 12   0
表二
SI  EI  Type
2   7     0
7   11   1
11  12   0
就是将Type列中相邻的相同状态合并,SIEI的值相应发生变化,请高人指点,非常非常非常感谢!!!!

回复

使用道具 举报

发表于 2014-4-3 18:19:51 | 显示全部楼层
Maybe this will solve your problem:
  1. TRAN=function(M) {
  2.          n=nrow(M)
  3.          p=ncol(M)
  4.          S=(rep(numeric(0),p))
  5.          i=1
  6.          while(i<=n ) {
  7.              k=i
  8.              m=k
  9.              while(M[k,p]==M[m,p]& m<=n) m=m+1
  10.              S=rbind(S,c(min(M[k:(m-1),1]),max(M[k:(m-1),2]),M[k,3]))
  11.              i=m

  12.          }
  13.          T=as.data.frame(S)
  14.          colnames(T)=colnames(M)
  15.          T
  16.      }
  17. M=read.table(header=TRUE,text='
  18. SI  EI  Type
  19. 2   3     0
  20. 3   7     0
  21. 7   8     1
  22. 8   10   1
  23. 10 11   1
  24. 11 12   0
  25. ')
  26. TRAN(M)
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 11:41 , Processed in 0.031083 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表