楼主: vuyongnian
1733 7

[问答] R语言list列表 [推广有奖]

  • 0关注
  • 0粉丝

大专生

6%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.9062
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
294 点
帖子
26
精华
0
在线时间
39 小时
注册时间
2022-1-3
最后登录
2023-6-11

楼主
vuyongnian 发表于 2022-5-23 00:04:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问怎样将嵌套的list中的每组数据都删除前30行?
二维码

扫码加我 拉你入群

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

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

关键词:list IST R语言

本帖被以下文库推荐

沙发
llb_321 在职认证  发表于 2022-5-23 10:44:32
这样啊,list可以多层嵌套,不知道您的数据有多少层,各层的结构是否一致,底层的数据结构是哪种类型(矩阵? 向量?)。
如果是简单的一层list,且底层的结构一样的话,可以参考下面的代码:
  1. #示例list,底层都是10X2矩阵
  2. A <- list(
  3.   a = matrix(round(runif(20, 0, 1), 2), 10),
  4.   b = matrix(round(runif(20, 0, 1), 2), 10),
  5.   c = matrix(round(runif(20, 0, 1), 2), 10)
  6. )
  7. #利用lapply对list的元素执行function
  8. #function的作用是删除对象的前5行
  9. #返回结果仍为list
  10. B <- lapply(A, function(x) return(x[-(1:5), ]))
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
llb_321 在职认证  发表于 2022-5-23 10:54:01
另外,单独操作的话,可以用A[["a"]]这种形式定位到list A中的a对象,如果是多层嵌套的话,还可以再添加[[“下一层对象名”]],直到你需要的那层对象。

板凳
alien617aaa 发表于 2022-5-23 15:54:12

针对list的名字写一个循环就可以

A <- list(
  a = data.fr ame(x=1:20,y=1:20),
  b = data.fr ame(x=1:20,y=1:20),
  c = data.fr ame(x=1:20,y=1:20)
) 

for (i in names(A)){
  A[[i]]<-A[[i]][-c(0:10),]
}

报纸
s609078902 发表于 2022-5-24 16:45:45
  1. library(tidyverse)

  2. map(yourlist, ~ .x[-(1:30), ])
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

地板
vuyongnian 发表于 2022-5-25 17:10:47
llb_321 发表于 2022-5-23 10:44
这样啊,list可以多层嵌套,不知道您的数据有多少层,各层的结构是否一致,底层的数据结构是哪种类型(矩阵 ...
谢谢您

7
vuyongnian 发表于 2022-5-25 17:11:09
s609078902 发表于 2022-5-24 16:45
已经解决,谢谢

8
vuyongnian 发表于 2022-5-25 17:11:26
alien617aaa 发表于 2022-5-23 15:54
针对list的名字写一个循环就可以
A &lt;- list(
  a = data.fr ame(x=1:2&#48;,y=1:2&#48;),
谢谢您

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

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