楼主: hyuanyb
9091 4

[问答] 为何在循环语句中,中间结果不在屏幕上输出 [推广有奖]

  • 0关注
  • 0粉丝

学前班

50%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
33 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2015-4-21
最后登录
2017-10-26

楼主
hyuanyb 学生认证  发表于 2015-4-21 12:32:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如,
j=1
j
然后屏幕上就显示一个i的值。

但在循环语句中,就不显示
例如
for(i in 1:10)
{
j=1
j
}
此时复制到窗口后,屏幕输入什么也没有。如何修改让输出显示10次呢?

二维码

扫码加我 拉你入群

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

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

关键词:循环语句 不显示 For 如何

沙发
hugebear 发表于 2015-4-21 21:41:22
一般的计算机语言都是这样设计的,否则事无巨细地输出所有中间结果,一则不必要,二来很凌乱。(你的程序变量i和j也混淆了。。。)要得到循环的中间结果(一般在debugging时有用),可以使用print或cat函数,例如对你举的例子:
  1. for (j in 1:10) print(j)
复制代码
就可以得到所有的中间输出了。
已有 1 人评分论坛币 收起 理由
admin_kefu + 40 热心帮助其他会员

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

藤椅
hyuanyb 学生认证  发表于 2015-4-21 21:55:01
hugebear 发表于 2015-4-21 21:41
一般的计算机语言都是这样设计的,否则事无巨细地输出所有中间结果,一则不必要,二来很凌乱。(你的程序变 ...
其实我要的不是单个数值,而是想看到函数经过循环的输出情况。例如t.test()多次循环输出的结果,这个输出结果不是一个值,而是办屏结果。
当然,如果有办法全部输出到文件中也可。

板凳
hugebear 发表于 2015-4-21 22:13:24
hyuanyb 发表于 2015-4-21 21:55
其实我要的不是单个数值,而是想看到函数经过循环的输出情况。例如t.test()多次循环输出的结果,这个输出 ...
哦, 那是你没有把问题说清楚。循环输出的结果可以储存在list里,例如,你想储存10次t.test的结果,则先初始化一个长度为10的list,再把每次的结果储存到list的每个component中:
  1. results <- vector(length = 10, mode = "list")
  2. for (j in 1:10) results[[j]] <- t.test(rnorm(100, mean = 1, sd = 1))
复制代码
原则上,list可以储存任何object,不仅仅是数值。
已有 1 人评分论坛币 收起 理由
李会超 + 10 精彩帖子

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

报纸
tanxiaoyan123 发表于 2018-10-21 21:48:43
hugebear 发表于 2015-4-21 22:13
哦, 那是你没有把问题说清楚。循环输出的结果可以储存在list里,例如,你想储存10次t.test的结果,则先初 ...
for (i in major_names) {
  for (j in schid_names) {
    mydata2 <-mydata[which(mydata$major==i & mydata$schid==j ), ]
    class_names <- unique(mydata2$stu_b_13_class)
大神你好,如果我是想得到每次经过循环的输出情况(第三行所示),也就是一组数据mydata2,请问应该怎么写呢?事实上我是要对每一次的mydata数据进行处理。谢谢啦!

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

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