Dadansoddi cofrestr Arolygiaeth Gofal a Gwasanaethau Cymdeithasol Cymru a lawrlwythwyd ar 5 Rhagfyr 2017.

library("tidyverse")
url <- "http://cssiw.org.uk/cssiwServlet?service=CDC&method=export&lang=cy"

download.file(url,destfile = "CSSIW Directory Export Gofal Dydd i Blant.csv")
# Roedd y ffeil a lawrlwythwyd mewn fformat UTF-8 gyda BOM. Roedd yn rhaid newid
# hwnnw i ollwng y BOM fel y byddai'r cod Python a ddefnyddir ymhellach ymlaen yn gweithio

cyfeiriadur <- read_csv("CSSIW Directory Export Gofal Dydd i Blant.csv",quote = '"')

# Safoni rhai sillafiadau
cyfeiriadur[cyfeiriadur$Authority == "Carmarthen", "Authority"] <- "Carmarthenshire"
cyfeiriadur[cyfeiriadur$Authority == "Rhondda Cynon Taff", "Authority"] <- "Rhondda Cynon Taf"
cyfeiriadur[cyfeiriadur$Authority == "The Vale of Glamorgan", "Authority"] <- "Vale of Glamorgan"

Nifer y darparwyr yn ôl categoi

cyfeiriadur %>% group_by(Category) %>% summarise(Nifer = n())
cyfeiriadur  %>% summarise(Cyfanswm = n())

Gan hepgor pob ‘Gwarchodwr Plant’ ceir y dosbarthiad daearyddol canlynol.
Sylwer: defnyddir enwau Saesneg yr awdurdodau fel y’u cofnodwyd yng nghofrestr AGGCC.

cyfeiriadur  %>% filter(Category != "Gwarchodwr Plant") %>% group_by(Authority) %>% summarise("Nifer" = n()) %>% arrange(Authority)

Yr unig ffordd o gael syniad am iaith y ddarpariaeth o’r data hyn yw edrych ar iaith enw’r ddarpariaeth. Mae cynnwys enw lle Cymraeg yn gallu drysu’r meddalwedd categoreiddio iaith ac felly mae’r rhestr o leoliadau darpariaeth “Cymraeg” yn siŵr o gynnwys rhai lleoliadau uniaith Saesneg.

# -*- coding: utf-8 -*-
import csv
import langid

langid.set_languages(['en','cy'])

darpariaethCym = []

with open("CSSIW Directory Export Gofal Dydd i Blant.csv","r") as f: 
    reader = csv.DictReader(f)
    niferCymraeg = 0
    niferSaesneg = 0
    for row in reader:
        if (row["Category"] == "Gofal Dydd Llawn") or (row["Category"] == "Gofal Dydd Sesiynol"):
            tmewnbwn = row["Name"]
            iaith = langid.classify(tmewnbwn)
            if iaith[0] == "cy" and float(iaith[1]) > 0.90:
                niferCymraeg += 1
                darpariaethCym.append(row)

enwauColofnau = darpariaethCym[0].keys()
              
with open("Gofal Dydd i Blant Cymraeg.csv","w") as fo:
    writer = csv.DictWriter(fo, fieldnames = enwauColofnau)
    writer.writeheader()
    writer.writerows(darpariaethCym)

print "Amcangyfrif y nifer o leoliadau Gofal Dydd Llawn a Gofal Dydd Sesiynol â darpariaeth Gymraeg = ", niferCymraeg
Amcangyfrif y nifer o leoliadau Gofal Dydd Llawn a Gofal Dydd Sesiynol â darpariaeth Gymraeg =  284

Manylion y ddarpariaeth Gofal Dydd Llawn a Gofal Dydd Sesiynol “Cymraeg” fesul awdurdod lleol.

Gellir cymharu’r ffigurau hyn â cholofn gyntaf Ffigur 2 Nodyn Briffio Comisiynydd y Gymraeg. Mae’r ffigur hwnnw’n cynnwys pob darpariaeth, gan gynnwys Gwarchodwyr Plant. Mae’r gwahaniaethau mwyaf rhwng y tabl canlynol â cholofn gyntaf Ffigur 2 y nodyn briffio i’w gweld yn yr ardaloedd sydd â’r canrannau uchaf o siaradwyr Cymraeg, ran amlaf mae’n debyg, oherwydd bod y golofn gyntaf yn Ffigur 2 yn cynnwys llawer o warchodwyr plant sy’n gallu siarad Cymraeg.

darpariaethCym <- read_csv("Gofal Dydd i Blant Cymraeg.csv")
darpariaethCym %>% group_by(Authority) %>% summarise("Nifer" = n())
darpariaethCym  %>% summarise("Nifer" = n())

Dyma fanylion y ddarpariaeth Gofal Dydd Llawn a Gofal Dydd Sesiynol “Cymraeg”, yn ôl awdurdod.

darpariaethCym %>% group_by(Authority) %>% arrange(Authority) %>% select(Authority, Name, Town, "Location url" )

Seiliwyd y dadansoddiad yma ar ddata Arolygiaeth Gofal a Gwaith Cymdeithasol Cymru (http://cssiw.org.uk/terms-and-conditions/ourdata/?lang=cy) a gyhoeddwyd dan y Drwydded Llywodraeth Agored http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/
Hawlfraint y dadansoddiad: @Statiaith

LS0tDQp0aXRsZTogIkRhZGFuc29kZGkgY29mcmVzdHIgQUdHQ0MiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpEYWRhbnNvZGRpIGNvZnJlc3RyIEFyb2x5Z2lhZXRoIEdvZmFsIGEgR3dhc2FuYWV0aGF1IEN5bWRlaXRoYXNvbCBDeW1ydSBhIGxhd3Jsd3l0aHd5ZCBhciA1IFJoYWdmeXIgMjAxNy4NCg0KYGBge3IgJ0RhcmxsZW4geSBkYXRhJywgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgY2FjaGUgPSBUUlVFfQ0KbGlicmFyeSgidGlkeXZlcnNlIikNCnVybCA8LSAiaHR0cDovL2Nzc2l3Lm9yZy51ay9jc3Npd1NlcnZsZXQ/c2VydmljZT1DREMmbWV0aG9kPWV4cG9ydCZsYW5nPWN5Ig0KDQpkb3dubG9hZC5maWxlKHVybCxkZXN0ZmlsZSA9ICJDU1NJVyBEaXJlY3RvcnkgRXhwb3J0IEdvZmFsIER5ZGQgaSBCbGFudC5jc3YiKQ0KIyBSb2VkZCB5IGZmZWlsIGEgbGF3cmx3eXRod3lkIG1ld24gZmZvcm1hdCBVVEYtOCBneWRhIEJPTS4gUm9lZGQgeW4gcmhhaWQgbmV3aWQNCiMgaHdubncgaSBvbGx3bmcgeSBCT00gZmVsIHkgYnlkZGFpJ3IgY29kIFB5dGhvbiBhIGRkZWZueWRkaXIgeW1oZWxsYWNoIHltbGFlbiB5biBnd2VpdGhpbw0KDQpjeWZlaXJpYWR1ciA8LSByZWFkX2NzdigiQ1NTSVcgRGlyZWN0b3J5IEV4cG9ydCBHb2ZhbCBEeWRkIGkgQmxhbnQuY3N2IixxdW90ZSA9ICciJykNCg0KIyBTYWZvbmkgcmhhaSBzaWxsYWZpYWRhdQ0KY3lmZWlyaWFkdXJbY3lmZWlyaWFkdXIkQXV0aG9yaXR5ID09ICJDYXJtYXJ0aGVuIiwgIkF1dGhvcml0eSJdIDwtICJDYXJtYXJ0aGVuc2hpcmUiDQpjeWZlaXJpYWR1cltjeWZlaXJpYWR1ciRBdXRob3JpdHkgPT0gIlJob25kZGEgQ3lub24gVGFmZiIsICJBdXRob3JpdHkiXSA8LSAiUmhvbmRkYSBDeW5vbiBUYWYiDQpjeWZlaXJpYWR1cltjeWZlaXJpYWR1ciRBdXRob3JpdHkgPT0gIlRoZSBWYWxlIG9mIEdsYW1vcmdhbiIsICJBdXRob3JpdHkiXSA8LSAiVmFsZSBvZiBHbGFtb3JnYW4iDQoNCmBgYA0KIyMjIE5pZmVyIHkgZGFycGFyd3lyIHluIMO0bCBjYXRlZ29pICANCg0KYGBge3J9DQpjeWZlaXJpYWR1ciAlPiUgZ3JvdXBfYnkoQ2F0ZWdvcnkpICU+JSBzdW1tYXJpc2UoTmlmZXIgPSBuKCkpDQpjeWZlaXJpYWR1ciAgJT4lIHN1bW1hcmlzZShDeWZhbnN3bSA9IG4oKSkNCmBgYA0KDQpHYW4gaGVwZ29yIHBvYiAnR3dhcmNob2R3ciBQbGFudCcgY2VpciB5IGRvc2JhcnRoaWFkIGRhZWFyeWRkb2wgY2FubHlub2wuICANClN5bHdlcjogZGVmbnlkZGlyIGVud2F1IFNhZXNuZWcgeXIgYXdkdXJkb2RhdSBmZWwgeSd1IGNvZm5vZHd5ZCB5bmcgbmdob2ZyZXN0ciBBR0dDQy4gDQpgYGB7cn0NCmN5ZmVpcmlhZHVyICAlPiUgZmlsdGVyKENhdGVnb3J5ICE9ICJHd2FyY2hvZHdyIFBsYW50IikgJT4lIGdyb3VwX2J5KEF1dGhvcml0eSkgJT4lIHN1bW1hcmlzZSgiTmlmZXIiID0gbigpKSAlPiUgYXJyYW5nZShBdXRob3JpdHkpDQpgYGANCllyIHVuaWcgZmZvcmRkIG8gZ2FlbCBzeW5pYWQgYW0gaWFpdGggeSBkZGFycGFyaWFldGggbydyIGRhdGEgaHluIHl3IGVkcnljaCBhciBpYWl0aCBlbncnciBkZGFycGFyaWFldGguIE1hZSBjeW5ud3lzIGVudyBsbGUgQ3ltcmFlZyB5biBnYWxsdSBkcnlzdSdyIG1lZGRhbHdlZGQgY2F0ZWdvcmVpZGRpbyBpYWl0aCBhYyBmZWxseSBtYWUnciByaGVzdHIgbyBsZW9saWFkYXUgZGFycGFyaWFldGggIkN5bXJhZWciIHluIHNpxbVyIG8gZ3lubnd5cyByaGFpIGxsZW9saWFkYXUgdW5pYWl0aCBTYWVzbmVnLiAgDQpgYGB7cHl0aG9ufQ0KIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0NCmltcG9ydCBjc3YNCmltcG9ydCBsYW5naWQNCg0KbGFuZ2lkLnNldF9sYW5ndWFnZXMoWydlbicsJ2N5J10pDQoNCmRhcnBhcmlhZXRoQ3ltID0gW10NCg0Kd2l0aCBvcGVuKCJDU1NJVyBEaXJlY3RvcnkgRXhwb3J0IEdvZmFsIER5ZGQgaSBCbGFudC5jc3YiLCJyIikgYXMgZjogDQogICAgcmVhZGVyID0gY3N2LkRpY3RSZWFkZXIoZikNCiAgICBuaWZlckN5bXJhZWcgPSAwDQogICAgbmlmZXJTYWVzbmVnID0gMA0KICAgIGZvciByb3cgaW4gcmVhZGVyOg0KICAgICAgICBpZiAocm93WyJDYXRlZ29yeSJdID09ICJHb2ZhbCBEeWRkIExsYXduIikgb3IgKHJvd1siQ2F0ZWdvcnkiXSA9PSAiR29mYWwgRHlkZCBTZXNpeW5vbCIpOg0KICAgICAgICAgICAgdG1ld25id24gPSByb3dbIk5hbWUiXQ0KICAgICAgICAgICAgaWFpdGggPSBsYW5naWQuY2xhc3NpZnkodG1ld25id24pDQogICAgICAgICAgICBpZiBpYWl0aFswXSA9PSAiY3kiIGFuZCBmbG9hdChpYWl0aFsxXSkgPiAwLjkwOg0KICAgICAgICAgICAgICAgIG5pZmVyQ3ltcmFlZyArPSAxDQogICAgICAgICAgICAgICAgZGFycGFyaWFldGhDeW0uYXBwZW5kKHJvdykNCg0KZW53YXVDb2xvZm5hdSA9IGRhcnBhcmlhZXRoQ3ltWzBdLmtleXMoKQ0KICAgICAgICAgICAgICANCndpdGggb3BlbigiR29mYWwgRHlkZCBpIEJsYW50IEN5bXJhZWcuY3N2IiwidyIpIGFzIGZvOg0KICAgIHdyaXRlciA9IGNzdi5EaWN0V3JpdGVyKGZvLCBmaWVsZG5hbWVzID0gZW53YXVDb2xvZm5hdSkNCiAgICB3cml0ZXIud3JpdGVoZWFkZXIoKQ0KICAgIHdyaXRlci53cml0ZXJvd3MoZGFycGFyaWFldGhDeW0pDQoNCnByaW50ICJBbWNhbmd5ZnJpZiB5IG5pZmVyIG8gbGVvbGlhZGF1IEdvZmFsIER5ZGQgTGxhd24gYSBHb2ZhbCBEeWRkIFNlc2l5bm9sIMOiIGRhcnBhcmlhZXRoIEd5bXJhZWcgPSAiLCBuaWZlckN5bXJhZWcNCmBgYA0KIyMjIE1hbnlsaW9uIHkgZGRhcnBhcmlhZXRoIEdvZmFsIER5ZGQgTGxhd24gYSBHb2ZhbCBEeWRkIFNlc2l5bm9sICJDeW1yYWVnIiBmZXN1bCBhd2R1cmRvZCBsbGVvbC4gICANCkdlbGxpciBjeW1oYXJ1J3IgZmZpZ3VyYXUgaHluIMOiIGNob2xvZm4gZ3ludGFmIEZmaWd1ciAyIE5vZHluIEJyaWZmaW8gQ29taXNpeW55ZGQgeSBHeW1yYWVnLiBNYWUnciBmZmlndXIgaHdubncnbiBjeW5ud3lzIHBvYiBkYXJwYXJpYWV0aCwgZ2FuIGd5bm53eXMgR3dhcmNob2R3eXIgUGxhbnQuIE1hZSdyIGd3YWhhbmlhZXRoYXUgbXd5YWYgcmh3bmcgeSB0YWJsIGNhbmx5bm9sIMOiIGNob2xvZm4gZ3ludGFmIEZmaWd1ciAyIHkgbm9keW4gYnJpZmZpbyBpJ3cgZ3dlbGQgeW4geXIgYXJkYWxvZWRkIHN5ZGQgw6InciBjYW5yYW5uYXUgdWNoYWYgbyBzaWFyYWR3eXIgQ3ltcmFlZywgcmFuIGFtbGFmIG1hZSduIGRlYnlnLCBvaGVyd3lkZCBib2QgeSBnb2xvZm4gZ3ludGFmIHluIEZmaWd1ciAyIHluIGN5bm53eXMgbGxhd2VyIG8gd2FyY2hvZHd5ciBwbGFudCBzeSduIGdhbGx1IHNpYXJhZCBDeW1yYWVnLiAgDQpgYGB7ciBjYWNoZT1UUlVFLCBtZXNzYWdlPUZBTFNFfQ0KZGFycGFyaWFldGhDeW0gPC0gcmVhZF9jc3YoIkdvZmFsIER5ZGQgaSBCbGFudCBDeW1yYWVnLmNzdiIpDQpkYXJwYXJpYWV0aEN5bSAlPiUgZ3JvdXBfYnkoQXV0aG9yaXR5KSAlPiUgc3VtbWFyaXNlKCJOaWZlciIgPSBuKCkpDQpkYXJwYXJpYWV0aEN5bSAgJT4lIHN1bW1hcmlzZSgiTmlmZXIiID0gbigpKQ0KYGBgDQoNCkR5bWEgZmFueWxpb24geSBkZGFycGFyaWFldGggR29mYWwgRHlkZCBMbGF3biBhIEdvZmFsIER5ZGQgU2VzaXlub2wgIkN5bXJhZWciLCB5biDDtGwgYXdkdXJkb2QuICANCmBgYHtyIH0NCmRhcnBhcmlhZXRoQ3ltICU+JSBncm91cF9ieShBdXRob3JpdHkpICU+JSBhcnJhbmdlKEF1dGhvcml0eSkgJT4lIHNlbGVjdChBdXRob3JpdHksIE5hbWUsIFRvd24sICJMb2NhdGlvbiB1cmwiICkNCmBgYA0KU2VpbGl3eWQgeSBkYWRhbnNvZGRpYWQgeW1hIGFyIGRkYXRhIEFyb2x5Z2lhZXRoIEdvZmFsIGEgR3dhaXRoIEN5bWRlaXRoYXNvbCBDeW1ydSAoaHR0cDovL2Nzc2l3Lm9yZy51ay90ZXJtcy1hbmQtY29uZGl0aW9ucy9vdXJkYXRhLz9sYW5nPWN5KSBhIGd5aG9lZGR3eWQgZGFuIHkgRHJ3eWRkZWQgTGx5d29kcmFldGggQWdvcmVkIGh0dHA6Ly93d3cubmF0aW9uYWxhcmNoaXZlcy5nb3YudWsvZG9jL29wZW4tZ292ZXJubWVudC1saWNlbmNlL3ZlcnNpb24vMy8gICANCkhhd2xmcmFpbnQgeSBkYWRhbnNvZGRpYWQ6IEBTdGF0aWFpdGgNCg0KDQoNCg0K