楼主: c1p0426
1536 8

[问答] 新手 R中for loop [推广有奖]

  • 0关注
  • 0粉丝

高中生

10%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
157 点
帖子
13
精华
0
在线时间
24 小时
注册时间
2014-5-22
最后登录
2017-5-16

楼主
c1p0426 发表于 2016-7-24 00:11:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想得到一个数据像这样
10 100 1000 10000
写了个FOR

> n2<-4
> for(i in 1:n2){
+     k<-c()
+     k[i]<-10^i
+     print(k)
+ }
[1] 10
[1]  NA 100
[1]   NA   NA 1000
[1]    NA    NA    NA 10000

这结果为什么会是这样
二维码

扫码加我 拉你入群

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

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

关键词:loop For

沙发
johnmy 发表于 2016-7-24 02:59:18
把k<-c()放到循环外面。
  1. n2<-4
  2. k<-c()
  3. for(i in 1:n2){
  4.       
  5.        k[i]<-10^i
  6.       print(k)
  7.    }
复制代码

你相当于每个循环都对整个k重新赋值了,当然前面的都是NA了
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 鼓励积极发帖讨论

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

学习R

藤椅
johnmy 发表于 2016-7-24 03:01:06
  1. 10^(1:4)
复制代码
不是更快
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 观点有启发

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

板凳
c1p0426 发表于 2016-7-24 11:17:21
johnmy 发表于 2016-7-24 03:01
用不是更快
哦 多谢多谢  这个是准备写到function中

报纸
c1p0426 发表于 2016-7-24 11:20:34
johnmy 发表于 2016-7-24 02:59
把k


这个for的逻辑不是应该返回成为一个向量么 我理解这个应该返回一个向量 [1]    10   100  1000 10000
而不是
[1] 10
[1]  10 100
[1]   10  100 1000
[1]    10   100  1000 10000

地板
c1p0426 发表于 2016-7-24 11:21:27
johnmy 发表于 2016-7-24 02:59
把k
> k<-c()
> for(i in 1:n2){
+     k<-10^i
+     print(k)
+ }
[1] 10
[1]  10 100
[1]   10  100 1000
[1]    10   100  1000 10000

这个for的逻辑不是应该返回成为一个向量么 我理解这个应该返回一个向量 [1]    10   100  1000 10000
而不是
[1] 10
[1]  10 100
[1]   10  100 1000
[1]    10   100  1000 10000

7
johnmy 发表于 2016-7-25 16:52:46
c1p0426 发表于 2016-7-24 11:21
> k for(i in 1:n2){
+     k
把print放到循环外面

8
waterhorse 发表于 2016-7-25 22:33:42
k = c()

for (i in 1:4){
k[i] = 10^i
}

k

9
c1p0426 发表于 2016-7-26 14:19:37
johnmy 发表于 2016-7-25 16:52
把print放到循环外面
{:3_43:}{:3_43:} 谢谢~

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

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