楼主: speed717
1662 6

[问答] 请问这样的数据如何转变为两两一组的形式呢? [推广有奖]

  • 0关注
  • 0粉丝

已卖:3份资源

教授

54%

还不是VIP/贵宾

-

威望
0
论坛币
1369 个
通用积分
3.0000
学术水平
1 点
热心指数
1 点
信用等级
2 点
经验
5772 点
帖子
173
精华
0
在线时间
2655 小时
注册时间
2011-6-3
最后登录
2024-6-20

楼主
speed717 发表于 2017-6-3 19:15:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问这样的数据如何转变为两两一组的形式呢?初学者毫无头绪啊......比如第一行O 第二行PQ 都只有一种可能 就不变 第三行第四行穷尽所有可能的组合拆分成多行......
O
PQ
ABCDE

变成这样
O
PQ
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE







二维码

扫码加我 拉你入群

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

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

关键词:ABCD ABC CDE 初学者 如何

沙发
万人往LVR 在职认证  发表于 2017-6-4 17:14:44
  1. library(dplyr)
  2. library(rlist)
  3. data <- c('O','PQ','ABCDE')
  4. pasteChar <- function(x,y) ifelse(x<y,paste0(x,y),NA)
  5. strsplit(data,'') %>%
  6.   list.apply(function(x){
  7.         if(length(x)>1){
  8.         outer(x,x,pasteChar)
  9.       }else{x}}) %>%
  10. unlist %>% na.omit %>% as.vector
复制代码
已有 1 人评分论坛币 收起 理由
speed717 + 5 热心帮助其他会员

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

藤椅
speed717 发表于 2017-6-4 20:02:07
万人往LVR 发表于 2017-6-4 17:14
谢谢!请问如果是长度不一的数据 应该怎么处理呢?比如用逗号分隔开的

板凳
万人往LVR 在职认证  发表于 2017-6-5 08:57:52
speed717 发表于 2017-6-4 20:02
谢谢!请问如果是长度不一的数据 应该怎么处理呢?比如用逗号分隔开的
没懂你说什么意思,举个例子?

报纸
speed717 发表于 2017-6-5 15:34:50
万人往LVR 发表于 2017-6-5 08:57
没懂你说什么意思,举个例子?
是这样的 我的数据是各种公司的名称 长度不一,但是需要排成那种形式.....之前的回帖确实很有启发,但是我是纯新手来的,不太会做变通,所以只好再次提问了。谢谢!
Halifax Bank of Scotland (HBOS)Group 4 Securicor (G4S)Snell, JamesSnell, Wayne
SEBTR Majad
CitigroupTerra Firma Capital Partners Ltd.
European Union Emissions Trading System
SEB
Co-operative Group
Unnamed Moscow foreign exchange office
Volksbank Oberes Waldviertel
Raiffeisen-Landesbank Tirol
VR Bank
Nomura
Timis Public Finance General DepartmentSC Radisson Invest SRLSC Radisson Investment Group SRLSC Radisson Building SRL

地板
万人往LVR 在职认证  发表于 2017-6-5 19:43:14
  1. library(dplyr)
  2. library(rlist)
  3. data <- data.frame(
  4.   V1=c('Halifax Bank of Scotland (HBOS)','SEB','Citigroup'),
  5.   V2=c('Group 4 Securicor (G4S)','TR Majad','Terra Firma Capital Partners Ltd.'),
  6.   V3=c('Snell, James',NA,NA),
  7.   V4=c('Snell, Wayne',NA,NA),stringsAsFactors=F)
  8. pasteChar <- function(x,y) ifelse(x<y,paste(x,y,sep=' --- '),NA)
  9. apply(data,1,function(x){
  10.         if(length(x)>1){
  11.         outer(x,x,pasteChar)
  12.       }else{x}}) %>%
  13. as.vector %>% na.omit %>% as.vector
复制代码
已有 1 人评分论坛币 收起 理由
speed717 + 5 热心帮助其他会员

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

7
speed717 发表于 2017-6-5 22:17:08
万人往LVR 发表于 2017-6-5 19:43
两个代码对比了一下,明白了!谢谢!

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

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