Problem mit Unicode für Abruf aus Sprachdatenbank

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
gerlindgrosse
Beiträge: 3
Registriert: So Mär 22, 2020 2:00 pm

Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von gerlindgrosse »

Hallo liebe Leute,

ich bekomme folgende Fehlermeldung, wenn ich nach "grün" suche:
Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'

bei einem Befehl zum Abruf von Daten aus einer (US-amerikanisch gehosteten) Datenbank mit Kindersprachdaten.
Was muss ich tun?

Hier mein Code:

Code: Alles auswählen

dunkelgrün_all <- get_tokens(collection = "German",role = c("mother", "father"), token = c("dunkelgrün", "dunkelgrüne", "dunkelgrüner", "dunkelgrünes", "dunkelgrünen", "dunkelgrünem"))
hist(dunkelgrün_all$target_child_age)
describe(dunkelgrün_all$target_child_age)

# Subset dunkelgrün 3yo
dunkelgrün_3yo <- subset(dunkelgrün_all, target_child_age < 42)
describe(dunkelgrün_3yo$target_child_age)
hist(dunkelgrün_3yo$target_child_age)
nrow(dunkelgrün_3yo)
Vorher werden folgende Packages installiert:

Code: Alles auswählen

rm(list=ls())
install.packages("childesr")
library(childesr)
install.packages("psych")
library(psych)
Zuletzt geändert von jogo am Mo Mär 23, 2020 10:31 am, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von schubbiaschwilli »

Gude!

Ich habe keine Ahnung, was das für eine Datenbank ist, und kenne auch die Pakete nicht, aber das 'ü' ist das Problem.
Siehe https://de.wikipedia.org/wiki/UTF-8
Ich würde auch empfehlen, keine Umlaute in Variablennamen zu verwenden.

Dank&Gruß
Schubbiaschwilli
gerlindgrosse
Beiträge: 3
Registriert: So Mär 22, 2020 2:00 pm

Re: Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von gerlindgrosse »

Vielen Dank für den Hinweis.
Ich habe das "ü" im Variablen-Namen entfernt. Im Suchstring muss es ja aber weiterhin drin sein, oder kann ich es dort durch irgendwas neutrales ersetzen?

Der Code sieht jetzt so aus:

Code: Alles auswählen

# 7. GRüN
gruen_all <-  get_tokens(collection="German", role = c("mother", "father"), token = c("grün", "grüne", "grüner","grünes", "grünen", "grünem"))
hist(gruen_all$target_child_age)
describe(gruen_all$target_child_age)
Kann ich das "ü" in den tokens auch durch eine stabile Unicode-Variante ersetzen?
Zuletzt geändert von jogo am Di Mär 24, 2020 1:29 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von bigben »

Hi!

Versuch doch mal Deine ganzen Grüns versuchsweise durch ein Wort ohne Umlaut zu ersetzen. 'braun' oder 'lila' vielleicht? Damit könntest Du erstmal klären, ob die Umlaute im Suchbegriff wirklich das entscheidende Problem sind.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
gerlindgrosse
Beiträge: 3
Registriert: So Mär 22, 2020 2:00 pm

Re: Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von gerlindgrosse »

Ja, für die anderen Farbwörter geht es. Nur die Sonderzeichen (Ü, ß) verursachen diese Fehlermeldung.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Problem mit Unicode für Abruf aus Sprachdatenbank

Beitrag von Athomas »

Wenn ich mir die Beschreibung zu "get_tokens" im Package "childesr" angucke - ein Vorgehen, das generell wärmstens zu empfehlen ist :D , finde ich
token - A character vector of one or more token patterns (‘%‘ matches any number ofwildcard characters, ‘_‘ matches exactly one wildcard character)
Das würde mich veranlassen, es mal mit "gr%un" an Stelle von "grün" zu versuchen!?

Nachtrag: Au weia, ich meinte natürlich "gr%n" :oops: !
Antworten