楼主: 菩提镜
1599 7

[问答] 求教:for循环分组 [推广有奖]

  • 2关注
  • 0粉丝

博士生

34%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
31.3330
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
31819 点
帖子
28
精华
0
在线时间
497 小时
注册时间
2012-1-13
最后登录
2024-12-11

楼主
菩提镜 发表于 2020-3-27 21:43:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
zz=letters[1:9]  
aa=list()

想实现每三个字母构成一个列表元素,也就是说aa这个列表由三个元素构成,每个元素有三个字母,即3*3的列表。

    for (i in seq(1,length(zz)/3)) {ww=seq(1,length(zz),3)
                                            aa[[i]]=zz[ww[i]:3*i]}

结果:> aa
[[1]]
[1] "a" "b" "c"

[[2]]
[1] "h" "f"

[[3]]
[1] NA  NA  NA  NA  "i"
百思不得,求指点!

二维码

扫码加我 拉你入群

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

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

关键词:for循环 For Letters length letter

沙发
rosenbloog 发表于 2020-3-27 22:53:26
如果硬是要用你的逻辑,改一行:
  1. aa[[i]]=zz[ww[i]+0:2]
复制代码


已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
菩提镜 发表于 2020-3-27 23:13:33
rosenbloog 发表于 2020-3-27 22:53
如果硬是要用你的逻辑,改一行:
感谢您的回复,结果是我想要的。不过我没看懂。再有,如果按您的逻辑怎么解决?

板凳
maths_hjxk 发表于 2020-3-27 23:44:05
  1. aa=letters[1:9]
  2. grp=rep(1:3,3)
  3. split(aa,grp)
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

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

报纸
菩提镜 发表于 2020-3-28 08:04:47
maths_hjxk 发表于 2020-3-27 23:44
您这个简洁,易懂。for循环那个没懂。

地板
菩提镜 发表于 2020-3-30 20:33:44
maths_hjxk 发表于 2020-3-27 23:44
您好,您的答案确实能进行分组,但是分组结果和目标有差异。
> aa=letters[1:9]
> grp=rep(1:3,3)
> split(aa,grp)
$`1`
[1] "a" "d" "g"

$`2`
[1] "b" "e" "h"

$`3`
[1] "c" "f" "i"

第一元素里应该是a,b,c。

7
不懂不装懂 发表于 2020-4-3 17:42:43
aa=letters[1:9]
grp=rep(1:3,each=3)
split(aa,grp)

8
waterhorse 发表于 2020-4-6 00:28:38
aa[[i]]=zz[ww[i]:(3*i])}

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

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