找回密码
 注册
查看: 2635|回复: 2

求助

[复制链接]
发表于 2011-12-12 22:28:29 | 显示全部楼层 |阅读模式
本帖最后由 wudilengfeng 于 2011-12-12 22:29 编辑

请问高手指点下
如何用R语言编程将下面的数据:
  v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
1   1   9   7   1   3   1   4   7   2   3  
2   3   5   2   6   2   3   9   1   3   5
3   9   1   3   2   4   3   2   4   1   5
转换成如下形式:
   v1   v2    v3
1  1 9   3 5   9 1
2  7 1   2 6   3 2
3  3 1   2 3   4 3
4  4 7   9 1   2 4
5  2 3   3 5   1 5


谢谢!
回复

使用道具 举报

发表于 2011-12-30 17:24:08 | 显示全部楼层

回帖奖励 +2 金钱

data<-as.matrix(read.table("h://lc.txt"));
> data;
     V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
[1,]  1  9  7  1  3  1  4  7  2   3
[2,]  3  5  2  6  2  3  9  1  3   5
[3,]  9  1  3  2  4  3  2  4  1   5



f<-factor(rep(1:5,each=2));

> f;
[1] 1 1 2 2 3 3 4 4 5 5
Levels: 1 2 3 4 5

sapply(1:3,function(y) as.numeric(sapply(1:5,function(x) paste( split(data[y,],f)[[x]],collapse =""))));
    [,1] [,2] [,3]
[1,]   19   35   91
[2,]   71   26   32
[3,]   31   23   43
[4,]   47   91   24
[5,]   23   35   15


你会懂的。呵呵呵
回复 支持 反对

使用道具 举报

发表于 2011-12-30 17:25:43 | 显示全部楼层
希望你能看明白。只要你研究一下sapply、paste、split这三个函数就会明白的了
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-25 13:56 , Processed in 0.026852 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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