楼主: 卑鄙的我lzw
2251 1

[问答] 循环语句不能正常运行~~,QAQ [推广有奖]

  • 0关注
  • 4粉丝

硕士生

24%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1326 点
帖子
78
精华
0
在线时间
150 小时
注册时间
2017-7-18
最后登录
2021-5-10

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我想通过循环对我的数据集中的a1-a56分别做一些运算,我先用a1变量试了一下,是正常运行的,代码如下:
  1. up <- round(0.27*nrow(score),0)
  2. max <- max(score$a1)
  3. mean1 <- score %>% arrange(desc(a1)) %>% filter(row_number() %in% 1:up) %>% summarise(mean(a1))
  4. mean2 <- score %>% arrange(a1) %>% filter(row_number() %in% 1:up)%>% summarise(mean(a1))
  5. p1 <- mean1/max
  6. p2 <- mean2/max
  7. dcn <- p1-p2
  8. dcn
复制代码

然后我就写了一个循环,代码如下:
  1. result <- data.frame(dcn=0)
  2. for (i in 1:57) {
  3.   nm <- paste('a',i,sep = '')
  4.   max <- max(score$nm)
  5.   mean1 <- score %>% arrange(desc(nm)) %>% filter(row_number() %in% 1:up) %>% summarise(mean(nm)
  6.   mean2 <- score %>% arrange(nm) %>% filter(row_number() %in% 1:up)%>% summarise(mean(nm))
  7.   p1 <- mean1/max
  8.   p2 <- mean2/max
  9.   dcn <- p1-p2
  10.   
  11.   result[i,1] <- dca
  12. }
  13. result
复制代码
然后这个鬼东西就不能正常运行了{:2_29:},错误信息如下:
Error in arrange_impl(.data, dots) :
  incorrect size (1) at position 1, expecting : 45
In addition: Warning messages:
1: Unknown or uninitialised column: 'nm'.
2: In max(score$nm) : no non-missing arguments to max; returning -Inf



然后我问到原因可能出现在paste函数上,好像需要用get()函数才行,于是我用了如下:
name <- get(paste('a',1,sep = ''))
然后还是报错,吼!:
Error in get(paste("a", 1, sep = "")) : object 'a1' not found


各位哥哥姐姐,大佬们我该咋改啊 score2.zip (17.98 KB) 本附件包括:
  • score2.xlsx

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:循环语句 arise Summa rise aris

沙发
jimozhegu 发表于 2019-1-18 15:42:27 |只看作者 |坛友微信交流群
1. 循环代码第5行少了右括号
2. 第11行dcn写成dca
3. 变量名貌似不能这样用改了下代码,但结果都是0,不知道正不正确,lz看下吧
  1. up <- round(0.27*nrow(score),0)
  2. result <- data.frame(dcn=rep(NA,57))
  3. for (i in 1:57) {
  4.   nm <- score[,i]
  5.   max <- max(nm)
  6.   mean1 <- score %>% arrange(desc(nm)) %>% filter(row_number() %in% 1:up) %>% summarise(mean(nm))
  7.   mean2 <- score %>% arrange(nm) %>% filter(row_number() %in% 1:up)%>% summarise(mean(nm))
  8.   p1 <- mean1/max
  9.   p2 <- mean2/max
  10.   dcn <- p1-p2

  11.   result[i,1] <- dcn
  12.                                                                                        
  13. }
  14. result
复制代码


已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 30 + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 16:17