楼主: dxystata
1190 5

[问答] 函数中如何循环 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2012-10-16 23:25:12 |AI写论文
100论坛币
a<- data.frame(sex=c(1,1,2,2,1,1),
               bq=c(1,2,1,2,2,2),
               age=c(15,16,20,22,14,NA),
               height=c(1.75,1.70,1.65,1.68,1.72,1.80))

aaa<-functions(vars) {
    进行循环
    mean()
}

aaa(a.age a.height)
谢谢!

关键词:如何

沙发
glhydxz123 发表于 2012-10-17 01:07:49
难道用for或者repeat不可以吗?

藤椅
trier2006 发表于 2012-10-17 09:46:26
apply(a,2,mean,na.rm=T)
最好的医生是自己,最好的药物是时间……

板凳
kuma.kobe 发表于 2012-10-19 14:34:03
你可以用For,或者用while啊。然后牵着推出的使用用break就可以。
不然你可以吧你要做的东西告诉我,我写给你。
The most important things in research are intuition and essence.

报纸
monstersivle 发表于 2012-12-29 11:41:52
a<- data.frame(sex=c(1,1,2,2,1,1),
               bq=c(1,2,1,2,2,2),
               age=c(15,16,20,22,14,NA),
               height=c(1.75,1.70,1.65,1.68,1.72,1.80))
aaa<-function(v){
        n<-dim(v)[2]
        for(i in 1:n){
        x<-v[,i]
        cat(mean(x[is.na(x)==0])," , ")
        }
}
v<-matrix(c(a$age,a$height),length(a$age))
aaa(v)
这办法有点儿绕~~~
a.age是啥啊?出错。设定所求变量组矩阵的时候,还可以一个个变矩阵as.matrix(), 然后cbind
以下是全部变量的平均结果:
aaa<-function(v){
        n<-dim(v)[2]
        result<-matrix("",nrow=1,ncol=n)
        for(i in 1:n){
        x<-v[,i]
        result[1,i]<-round(mean(x[is.na(x)==0]),2)
        }
        title<-matrix(dimnames(v)[[2]],nrow=1,ncol=n,byrow=T)
        final<-as.data.frame(rbind(title,result))
        write.csv(final,file="final.csv")
}
aaa(a)

不爱其亲而爱他人者,谓之悖德;不敬其亲而敬他人者,谓之悖礼。——《孝经》

地板
dxystata 发表于 2012-12-29 14:29:55
monstersivle 发表于 2012-12-29 11:41
a
多个变量传递!

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

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