3502 4

[问答] R语言提取list类型数据 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

95%

还不是VIP/贵宾

-

威望
0
论坛币
136 个
通用积分
35.0424
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
680 点
帖子
33
精华
0
在线时间
369 小时
注册时间
2016-2-9
最后登录
2025-4-23

楼主
巫山小女隔云别5 发表于 2020-8-12 19:50:48 |AI写论文
20论坛币
请教一下大家:我的原始数据是第一行这样子的,我想实现第二行这种效果,就是提取每个分号间的IPC前4个字符,然后去重(因为有时候会出现重复值),然后注意是我想最终一行一个单元格的效果 0TO0B)91]8T]]](`%{(SJ}I.png ,我用data3<-lapply(strsplit(data$...1,"; "),function(aa) unique(substr(aa,1,4))),这个语句可以提取出来这种list格式的,有没有办法导出数据一行一个单元格,谢谢各位兄台帮忙看看! S8YQV5}5]CC%3G[IKCG6.png

最佳答案

llb_321 查看完整内容

或者以你的data3直接操作:
关键词:list IST R语言 Data 原始数据

本帖被以下文库推荐

沙发
llb_321 在职认证  发表于 2020-8-12 19:50:49
或者以你的data3直接操作:
  1. data4<-data.frame()
  2. for (i in 1:length(data3)) {
  3.     data4[i,1] <- data3[i] %>% unlist() %>% paste(collapse = ";")
  4. }
复制代码

藤椅
maths_hjxk 发表于 2020-8-13 11:57:16
试试unlist(data3)
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

板凳
llb_321 在职认证  发表于 2020-8-13 19:10:11
data是data.frame的话,可以这样:

  1. newdata <- data

  2. for (i in 1:(dim(data)[1])) {
  3.   newdata[i, 1] <-
  4.     str_extract_all(data[i, 1], "\\b[[:alnum:]]{4}|(?<=\\;)[[:alnum:]]{4}") %>%
  5.     unlist() %>%
  6.     paste(collapse = ";")
  7. }
复制代码

报纸
巫山小女隔云别5 发表于 2020-8-15 11:31:19
不好意思,我前两天在QQ群里有大佬帮忙解决了,没有试过你们的,它的代码是:
b <- matrix(nrow=length(data2),ncol=1)
for (i in 1:68209) {
  b[i,1] <- str_c(data2[[i]],collapse = ";")
}
估计跟你们的类似,有时间也试试你们的,谢谢你们

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 15:09