R_Language 板


LINE

※ 引述《f496328mm (为什麽会流泪)》之铭言: : > sapply(c(1:10), function(x) actv_fun(data,bo_matrix,x)) : [1] 0.5 0.5 0.5 3.0 1.5 17.5 9.0 0.5 2.5 2.5 : > parSapply(cl,c(1:10), function(x) actv_fun(data,bo_matrix,x)) : Error in checkForRemoteErrors(val) : : 6 nodes produced errors; first error: 没有这个函数 "actv_fun" : http://imgur.com/nMZbBme : 一样的东西 sapply都可以执行 : 但是为什麽用到parSapply : 却会出现没有这个函数?? : sapply不是可以用吗? : 该不会parSapply只能用内定的函数吧? 我通常都用doSNOW搭配plyr跟foreach来做 举个例子,我要平行来parse xml档案,里面用到xml2, purrr, stringr跟pipeR: (可以到这里下载几个xml.gz,放在vd资料夹里面测试看看: http://tisvcloud.freeway.gov.tw/history/vd/20160501/ ) library(xml2) library(foreach) library(doSNOW) library(plyr) library(purrr) library(stringr) library(pipeR) # 我只用九成的执行绪个数 (可以根据自己喜好去设定要不要全用) # 至於MPI部分,我就比较不熟了... cl <- makeCluster(floor(parallel::detectCores() * 0.9), type = "SOCK") registerDoSNOW(cl) # library package in clusters clusterEnv <- clusterEvalQ(cl, { library(plyr) library(stringr) library(purrr) library(pipeR) library(xml2) }) # export functions (我这没有函数、变数要export就写个范例这样 # 就把每一个变数或是函数的名称用字串放到list里面即可 # clusterExport(cl, list("x", "y", "some_variables", "some_functions")) # list the folders in vd vdFiles <- list.files("vd", "\\.xml.gz", full.names = TRUE) # 将llply做平行使用,只要加上.parallel=TRUE,以及registerDoSNOW就可以了 vdValueDataTable <- llply(vdFiles, function(xmlFileName){ # try to read the file xmlFile <- try({xmlFileName %>>% read_xml(encoding = 'UTF-8') %>>% xml_children %>>% xml_children}) # if there is something wrong, return NULL if (any(class(xmlFile) == "try-error") || length(xmlFile) == 0) return(NULL) # used for combine columns of dat1 repRows <- map(seq_along(xmlFile), ~ rep(., each = xml_length(xmlFile[[.]])*3)) %>>% do.call(what = c) # output character matrix xmlFile %>>% { xmlFile %>>% # find the vdid, status and datacollecttime (~ dat1 <- xml_attrs(.) %>>% do.call(what = rbind) %>>% (x ~ x[repRows, ])) %>>% xml_children %>>% # find the vsrdir, vsrid, speed and laneoccupy (~ dat2 <- xml_attrs(.) %>>% do.call(what = rbind) %>>% (x ~ x[rep(1:nrow(x), each = 3), ])) %>>% xml_children %>>% xml_attrs %>>% do.call(what = rbind) %>>% # find the carid and volume cbind(dat1, dat2) } %>>% (.[.[, "laneoccupy"] != "-99" & .[, "volume"] != "-99" & .[, "speed"] != "-99" & .[, "volume"] != "0" & .[, "status"] == "0", ]) %>>% (.[ , c("vdid", "carid", "datacollecttime", "speed", "laneoccupy", "volume")]) }, .parallel = TRUE) %>>% do.call(what = rbind) -- R资料整理套件系列文: magrittr #1LhSWhpH (R_Language) http://tinyurl.com/j3ql84c data.table #1LhW7Tvj (R_Language) http://tinyurl.com/hr77hrn dplyr(上) #1LhpJCfB (R_Language) http://tinyurl.com/jtg4hau dplyr(下) #1Lhw8b-s (R_Language) tidyr #1Liqls1R (R_Language) http://tinyurl.com/jq3o2g3 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.218.152.118
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1462552397.A.E80.html ※ 编辑: celestialgod (180.218.152.118), 05/07/2016 00:35:47







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP