楼主: yuwenhuajiayou
6476 1

[统计软件] R循环程序如何提取每一步数据 [推广有奖]

  • 9关注
  • 7粉丝

已卖:510份资源

硕士生

87%

还不是VIP/贵宾

-

TA的文库  其他...

医疗卫生领域统计与数据挖掘

威望
0
论坛币
4703 个
通用积分
3.9879
学术水平
6 点
热心指数
5 点
信用等级
4 点
经验
12357 点
帖子
250
精华
0
在线时间
141 小时
注册时间
2012-10-27
最后登录
2021-5-29

楼主
yuwenhuajiayou 学生认证  发表于 2015-6-13 11:51:19 |AI写论文
10论坛币
小菜刚学R,想请教下如何把for循环里面的每一步数据提取出来。
程序如下:
  1. no<-c(1,1,1,1,1,2,2,2,2,2,3,3,3,4,4,4,4,4,5,5)
  2. sta<-sample(20)
  3. a<-data.frame(no,sta)
  4. u<-list()
  5. for (i in c(1:5)) {
  6.   u<-diff(a[no==i,"sta"])
  7.   uu<-c(0,u)
  8. }
复制代码
我想如何把for循环的每一步数据结果提取出来,如何编程呢?。
如果for程序改为
  1. u<-list()
  2. for (i in c(1:5)) {
  3.   u[i]<-diff(a[no==i,"sta"])
  4.   uu<-c(0,u[i])
  5. }
复制代码
会显示 number of items to replace is not a multiple of replacement length” 错误。求教了!!


关键词:每一步数据 如何提取 for循环 数据提取 For 程序R 如何提取 for循环 每一步数据

沙发
华仔加油 发表于 2015-6-13 11:51:20
f<-function(x){u<-as.vector(diff(x))
uu<-c(0,u)
return(uu)
}
qq<-by(a[,"sta"],INDICES = list(a$no),FUN=f)
install.packages("reshape")
library(reshape)
melt.list(qq)
a<-transform(a,qq=qq$value)
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-26 20:47