Das Schreiben von R-Code ist oft ein aufwendiger Prozess. Insbesondere wenn man nicht täglich Code schreibt oder neu beginnt mit R zu arbeiten. Aber auch erfahrene Anwender kennen nur einen Teil der aktuell ca. 19’500 verfügbaren Pakete und die am häufigsten verwendeten Funktionen. In einer Fallstudie haben wir deshalb versucht, einen R-Code mit dem Chatbot ChatGPT zu generieren.
Das Ziel der vorliegenden Fallstudie ist das Bestimmen aller Bäckereien in Luzern anhand der Daten von OpenStreetMap und deren Visualisierung auf einer Karte.
Anweisung an ChatGPT
Using the osmdata R library, write R code to find the locations of all bakeries in Lucerne, Switzerland. Then use mapview to visualize the bakeries on a map.
Von ChatGPT generierte Antwort
To find the locations of all bakeries in Lucerne, Switzerland using the ‘osmdata’ library in R, you can follow the steps below:
1. Install and load the required libraries:
install.packages("osmdata")
install.packages("mapview")
library(osmdata)
library(mapview)
2. Fetch the data for Lucerne from OpenStreetMap:
lucerne <- opq(bbox = "Lucerne, Switzerland") %>%
add_osm_feature(key = 'amenity', value = 'bakery') %>%
osmdata_sf()
Das korrekte Schlüssel-Wert-Paar lautet: key = 'shop', value = 'bakery'.
3. Extract the bakery locations from the fetched data:
bakery_locations <- lucerne$osm_points
4. Visualize the bakery locations on a map using 'mapview':
mapview(bakery_locations)
Putting it all together, here's the complete code:
install.packages("osmdata")
install.packages("mapview")
library(osmdata)
library(mapview)
lucerne <- opq(bbox = "Lucerne, Switzerland") %>%
add_osm_feature(key = 'amenity', value = 'bakery') %>%
osmdata_sf()
bakery_locations <- lucerne$osm_points
mapview(bakery_locations)
This code will fetch the bakery locations in Lucerne, Switzerland using the 'osmdata' library and then display them on a map using 'mapview'.
Fazit
Ein Ausführen des R-Codes direkt in ChatGPT ist nicht möglich. Das ist aber nicht weiter tragisch, da dieser einfach kopiert und in ein R-Script von RStudio eingefügt werden kann. ChatGPT generierte einen beinahe funktionierenden Code. Einzige Ausnahme war das Verwenden eines falschen Schlüssel-Wert-Paares (KVP). Ansonsten war der Code jedoch korrekt geschrieben. Um die Nachvollziehbarkeit zu gewährleisten, wäre es vorteilhaft, wenn dem Code zusätzlich Kommentare hinzugefügt würden.
Laut Eigenangabe des US-amerikanischen Unternehmens OpenAI, welches den Chatbot entwickelte, spricht ChatGPT Deutsch. In unserer Fallstudie hat sich jedoch gezeigt, dass Anweisungen in englischer Sprache besser funktionieren.
Um R-Code mit ChatGPT schreiben zu können, ist zumindest ein gewisses Grundverständnis des R-Ökosystem unabdingbar. ChatGPT benötigt klare Anweisungen, inkl. der notwendigen Pakete, um korrekten Code schreiben zu können.








