楼主: Rdudu
1132 4

[问答] 怎么在向量前面填充0值,让不等长的向量末尾对齐 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
69 点
帖子
4
精华
0
在线时间
6 小时
注册时间
2021-1-14
最后登录
2021-1-23

楼主
Rdudu 发表于 2021-1-14 22:56:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题:
a <- c(1,2,3,4,5,6,7,8,)
b <- c(6,7,8)

u <- list(a,b)

u
1 0
2 0
3 0
4 0
5 0
6 6
7 7
8 8

如果我有一个很多不同长度列的列表 ,该怎么匹配?

烦请赐教,拜谢
二维码

扫码加我 拉你入群

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

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


沙发
乐天天12300 发表于 2021-1-15 11:20:12
  1. myfunc <- function(...) {
  2.   list <- list(...)
  3.   len <- vector(length = length(list))
  4.   for (i in 1:length(list)) {
  5.     len[i] <- length(list[[i]])
  6.   }
  7.   maxlen <- len[which.max(len)]
  8.   for (i in 1:length(list)) {
  9.     if (len[i] < maxlen) {
  10.       num <- maxlen - len[i]
  11.       list[[i]] <- c(replicate(num, 0),list[[i]])
  12.     }
  13.   }
  14.   list
  15. }
  16. myfunc(1:4, 4:5, 8:14)
复制代码

藤椅
katymeala 发表于 2021-1-16 09:28:41
假设L是你的数据

max_len <- max(lengths(L))
new_L <- lapply(L, function(x) c(rep(0, max_len - length(x)), x) )
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 精彩帖子

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

板凳
Rdudu 发表于 2021-1-16 13:51:26
乐天天12300 发表于 2021-1-15 11:20
非常感谢

报纸
Rdudu 发表于 2021-1-16 13:52:21
katymeala 发表于 2021-1-16 09:28
假设L是你的数据

max_len
非常谢谢

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

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