楼主: winniewang2222
16977 35

[问答] 求助:累加如何进行编程 [推广有奖]

11
winniewang2222 发表于 2014-3-27 22:50:06
danica33 发表于 2014-3-27 22:41
现在可以加减吗
我试了试,不能将year提出来

> cbind(year=as.numeric(rownames(data)),data)
   year  a
1     1  1
2     2  2
3     3  3
4     4  3
5     5  4
6     6  5
7     7  6
8     8 66
9     9  6
10   10  7
11   11 88
12   12 88
13   13 99
14   14 88
15   15  4
16   16  4
> attach(data)
下列对象被屏蔽了from data (position 3):

    a
> a
[1]  1  2  3  3  4  5  6 66  6  7 88 88 99 88  4  4
> year
错误: 找不到对象'year'
>
世上万事,不过是一懒二拖三不读书。

12
danica33 发表于 2014-3-27 22:55:48
winniewang2222 发表于 2014-3-27 22:48
可以了!太好了!这似乎是把a给提出来了?

还有好几个问题,如果你要去休息,就再说啊,呵呵
order(a)就可以得到a从小到大排列后对应序号,你rownames(data)得到什么东西?data是什么样子
已有 1 人评分学术水平 热心指数 收起 理由
winniewang2222 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

13
jmpamao 发表于 2014-3-27 22:56:09
cbind(year<-as.numeric(rownames(data)),data)
已有 1 人评分学术水平 热心指数 收起 理由
winniewang2222 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

14
winniewang2222 发表于 2014-3-27 23:01:04
danica33 发表于 2014-3-27 22:55
order(a)就可以得到a从小到大排列后对应序号,你rownames(data)得到什么东西?data是什么样子
> order(a)
[1]  1  2  3  4  5 15 16  6  7  9 10  8 11 12 14 13
>
这是order后得出来的结果,并不是12345.。。16这样的序列
世上万事,不过是一懒二拖三不读书。

15
winniewang2222 发表于 2014-3-27 23:02:31
jmpamao 发表于 2014-3-27 22:56
cbind(year
谢谢!~ 我之前尝试的是这个,但是无法将year分离出来为一个独立的变量,与a进行运算
世上万事,不过是一懒二拖三不读书。

16
danica33 发表于 2014-3-27 23:03:46
winniewang2222 发表于 2014-3-27 23:01
> order(a)
[1]  1  2  3  4  5 15 16  6  7  9 10  8 11 12 14 13
>
对啊,a从小到大排列后对应原来的序号,你的nrownames(data)得到的是行号
已有 1 人评分学术水平 信用等级 收起 理由
winniewang2222 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  信用等级 + 1   查看全部评分

17
jmpamao 发表于 2014-3-27 23:07:08
看好了  是 year <-   不是=   
<-是创立一个对象year,  如果是=号,只是cbind 函数中 数据的列名参数为year  
已有 1 人评分学术水平 信用等级 收起 理由
winniewang2222 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  信用等级 + 1   查看全部评分

18
winniewang2222 发表于 2014-3-27 23:07:50
danica33 发表于 2014-3-27 23:03
对啊,a从小到大排列后对应原来的序号,你的nrownames(data)得到的是行号
这是原来的序号?原来比如最后两个值是4,那序号也不应该是14,13吧...

> a
[1]  1  2  3  3  4  5  6 66  6  7 88 88 99 88  4  4
> order(a)
[1]  1  2  3  4  5 15 16  6  7  9 10  8 11 12 14 13
>
世上万事,不过是一懒二拖三不读书。

19
winniewang2222 发表于 2014-3-27 23:11:44
jmpamao 发表于 2014-3-27 22:56
cbind(year
太棒了!原来换成<-就可以了~~!
再用attach(data)是分离出了year和a

这之前有个问题就是,我怎样可以先将a从小到大进行排序呢,然后再产生排序后的序号呢
世上万事,不过是一懒二拖三不读书。

20
danica33 发表于 2014-3-27 23:14:50
winniewang2222 发表于 2014-3-27 23:07
这是原来的序号?原来比如最后两个值是4,那序号也不应该是14,13吧...

> a
order(a)是a从小到大排列后第i大的元素在原来的向量a中的位置,比如a排列后
sort(a)##a从小到大排列
[1]  1  2  3  3  4  4  4  5  6  6  7 66 88 88 88 99
>
第5大元素为4,在原来a中位置5
已有 1 人评分学术水平 信用等级 收起 理由
winniewang2222 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  信用等级 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 23:29