楼主: liyichen17
1635 2

[问答] 新手求助:关于for循环里面的问题 [推广有奖]

  • 4关注
  • 1粉丝

讲师

3%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
1.0166
学术水平
4 点
热心指数
5 点
信用等级
2 点
经验
19465 点
帖子
165
精华
0
在线时间
602 小时
注册时间
2012-2-28
最后登录
2022-12-20

楼主
liyichen17 在职认证  发表于 2018-2-24 20:16:22 |AI写论文
10论坛币
for循环中,进行方差分析,出现如下错误:Error in model.frame.default(formula = i ~ 时期, data = data1, drop.unused.levels = TRUE) :   变数的长度不一样('时期')。


数据中没有缺失值,程序如下:


  1. cat <- c("曲率K1", "曲率K2" )
  2. for (i in cat){
  3.   f_test <- aov(i ~ 时期, data=data1)
  4.   summary(f_test)
  5. }
复制代码


新手一枚,请大佬帮忙解答,不胜感激!

aov(曲率K1~ 时期, data=data1)这样就没问题,难道for循环里面的变量i不能在方差分析中当作因变量吗?

最佳答案

ntsean 查看完整内容

i不能直接放进formula的一部分,因为他是字符
关键词:for循环 新手求助 For Formula Default

沙发
ntsean 发表于 2018-2-24 20:16:23
i不能直接放进formula的一部分,因为他是字符

  1. aov(as.formula(sprintf("%s ~ 时期", i)), data=data1)
复制代码
已有 1 人评分论坛币 热心指数 收起 理由
cheetahfly + 10 + 1 热心帮助其他会员

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

藤椅
liyichen17 在职认证  发表于 2018-2-24 22:49:41
ntsean 发表于 2018-2-24 22:32
i不能直接放进formula的一部分,因为他是字符
谢谢,完美解决了。

那下面的循环:
  1. cat <- c("曲率K1", "曲率K2" )
  2. for (i in cat){
  3.   summrise(data1, mean=mean(i))
  4. }
复制代码
怎么写呢?非常感谢~

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-2 02:51