R_Language 板


LINE

※ 引述《Nonen (1800g)》之铭言: : [问题类型]: : 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来) : [软体熟悉度]: : 请把以下不需要的部份删除 : 新手(没写过程式,R 是我的第一次) : [问题叙述]: : 请简略描述你所要做的事情,或是这个程式的目的 : 我正在作一个能够回传有修高级车品牌的修车厂名字的程式,目前我已经有了372家修车 : 场的资料并整理出了两个向量。 : 向量一:只有修车厂名字 : 例如 c(甲,乙,丙,...) : 向量二:车厂名字和有修的车子品牌 例如 c(甲,a,b,c,乙,b,f,g,丙,c,h,i,..) : 然後假设高级车品牌有c(a,b,..),我想要找出任何有修高级车品牌的车厂 : 目前我卡在如何将向量二分成372家车厂的资料,因为每家会修的品牌数不一样无法使用 : 一定的间隔做切割 : 目前理想是可以做出一张list里面包含372个sublist且用店家名命名,每个sublist里有 : 该店家有修的车子品牌,再去看有哪些店家(回传sublist name)里有包含任一甚至更多高 : 级车品牌名单。还没有想到很好的解法,先谢谢大家了! : [程式范例]: : 车厂名单示意图(向量一) : http://imgur.com/a/Awtuj : 维修资讯示意图(向量二) : http://imgur.com/a/zLqOi : [环境叙述]: : R version 3.3.1 (2016-06-21) : Platform: x86_64-apple-darwin13.4.0 (64-bit) : Running under: OS X 10.11.3 (El Capitan) : [关键字]: : 选择性,也许未来有用 图二看不到,我先根据你意思先生成资料 好读版:http://pastebin.com/kgtr0RHX # 生成资料的函数就比较复杂一点,需要一点时间研究 # 用到的就paste0, sprintf, replicate, sample, unlist, mapply这几个而已 # ?查一下应该不用太久时间就可以知道他们在干嘛了 # 至於要会用就要慢慢经验累积 try and error了 firms <- paste0("Firm", sprintf("%03i", 1L:500L)) brands <- paste0("Brand", sprintf("%03i", 1L:100L)) brandsList <- replicate(length(firms), sample(brands, sample(1L:20L, 1L))) brandsFirms <- unlist(mapply(function(x, y) c(x, y), firms, brandsList, USE.NAMES = FALSE)) head(brandsFirms, 24L) # [1] "Firm001" "Brand046" "Brand024" "Brand021" "Brand050" "Brand011" # [7] "Brand078" "Brand003" "Brand061" "Brand016" "Brand085" "Brand057" # [13] "Firm002" "Brand006" "Brand072" "Brand024" "Brand057" "Brand083" # [18] "Brand082" "Brand044" "Brand099" "Brand075" "Firm003" "Brand058" # 所以firms1是你的vector 1,brandsFirms是你的vector 2 # 下面使用的function都是base里面的,随便找本基本R书都有教 # match, findInterval, split等,没教那本书就可以丢了 # seq_along, head应该都不用特别教吧,自己把玩一下就会了~~~ loc <- match(firms, brandsFirms) idx <- findInterval(seq_along(brandsFirms), loc) idx_firms <- firms[idx] idx_firms[loc] <- "firms" output <- split(brandsFirms, idx_firms) output$firms <- NULL head(output, 3L) # $Firm001 # [1] "Brand046" "Brand024" "Brand021" "Brand050" "Brand011" "Brand078" # [7] "Brand003" "Brand061" "Brand016" "Brand085" "Brand057" # # $Firm002 # [1] "Brand006" "Brand072" "Brand024" "Brand057" "Brand083" "Brand082" # [7] "Brand044" "Brand099" "Brand075" # # $Firm003 # [1] "Brand058" "Brand069" "Brand047" 测试看看吧,有问题再上来问 比较闲就上个颜色,资料preview用绿色,注解用黄色~~ 一个小建议是以後资料可以直接贴上来 这样我可以直接手抓下来... 不然我就会生成虚拟资料,你实际case的资料就要自己再测试 -- R资料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/72l1m9 data.table #1LhW7Tvj (R_Language) https://goo.gl/PZa6Ue dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/I5xX9b tidyr #1Liqls1R (R_Language) https://goo.gl/i7yzAz pipeR #1NXESRm5 (R_Language) https://goo.gl/zRUISx --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.170.44.139
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1487962634.A.F55.html
1F:推 locka: 感谢推! 想请问c大,1L:500L的L是甚麽意思?感觉是个基本的 02/25 09:44
2F:→ locka: 的东西但自己就是查不到@@ 02/25 09:44
整数跟浮点数的差异 typeof(1L) # integer typeof(1) # double
3F:→ Nonen: 先谢谢您的回答,晚点我会补图和资料上来,并作测试,感恩~ 02/25 12:01
4F:→ Nonen: 补上图二 http://imgur.com/LrmcD3N 02/26 13:06
5F:→ Nonen: 感谢c大我用你的方法试成功了,资料的话我想不到别的方法贴 02/26 13:14
6F:→ Nonen: 上来,所以直接和大家分享程式码 02/26 13:14
7F:→ Nonen: 感谢!http://pastebin.com/9CHvutNW 02/26 13:15
※ 编辑: celestialgod (36.232.184.141), 03/05/2017 19:36:11







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP