Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tokenaufbereiter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IMEBI
LimeSurvey
tokenaufbereiter
Compare revisions
115c6976f94f3acb21ea2e364515b1bc94d95e8b to 20ee4e9d981756b87682b60daec23fce3aa8d80a
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
imebi/limesurvey/tokenaufbereiter
Select target project
No results found
20ee4e9d981756b87682b60daec23fce3aa8d80a
Select Git revision
Branches
main
Swap
Target
imebi/limesurvey/tokenaufbereiter
Select target project
imebi/limesurvey/tokenaufbereiter
1 result
115c6976f94f3acb21ea2e364515b1bc94d95e8b
Select Git revision
Branches
main
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (3)
Anpassungen bzgl. des Downloads
· 09e8a0e8
richard beer
authored
1 month ago
09e8a0e8
Anpassungen und Einfuegen eine komplett neuen Funktion
· 793be844
richard beer
authored
1 month ago
793be844
Neuer Aufgabe -> neues Skript
· 20ee4e9d
richard beer
authored
1 month ago
20ee4e9d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
download_names.R
+61
-0
61 additions, 0 deletions
download_names.R
function_load.R
+143
-70
143 additions, 70 deletions
function_load.R
main.r
+129
-32
129 additions, 32 deletions
main.r
with
333 additions
and
102 deletions
download_names.R
0 → 100644
View file @
20ee4e9d
# preparatory work ####
# reset workspace #
rm
(
list
=
ls
())
# setwd #
setwd
(
"P:/IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter"
)
suppressWarnings
({
suppressMessages
({
library
(
readxl
)
library
(
writexl
)
library
(
tidyverse
)
library
(
lubridate
)
#source("./function_load.R")
source
(
"./download_get_key.R"
)
})
})
#Umfragen ID:
# 433442
atr
<-
c
(
"emailstatus"
,
"language"
)
ls_433442_0
<-
get_responses
(
433442
,
iFromResponseID
=
1
,
iToResponseID
=
15000
)
ls_433442_1
<-
get_responses
(
433442
,
iFromResponseID
=
15001
,
iToResponseID
=
25000
)
ls_433442_2
<-
get_responses
(
433442
,
iFromResponseID
=
25001
,
iToResponseID
=
35000
)
ls_433442_3
<-
get_responses
(
433442
,
iFromResponseID
=
35001
,
iToResponseID
=
45000
)
ls_433442_4
<-
get_responses
(
433442
,
iFromResponseID
=
45001
,
iToResponseID
=
55000
)
ls_433442_5
<-
get_responses
(
433442
,
iFromResponseID
=
55001
,
iToResponseID
=
65000
)
ls_433442_6
<-
get_responses
(
433442
,
iFromResponseID
=
65001
,
iToResponseID
=
75000
)
ls_433442_7
<-
get_responses
(
433442
,
iFromResponseID
=
75001
,
iToResponseID
=
85000
)
ls_433442_8
<-
get_responses
(
433442
,
iFromResponseID
=
85001
,
iToResponseID
=
95000
)
filtered_data_frames
<-
Filter
(
function
(
x
)
is.data.frame
(
get
(
x
)),
ls
())
# die "values" zu "Data" machen und die participant_info entschachteln
data_frames_list
<-
lapply
(
filtered_data_frames
,
get
)
suppressWarnings
({
data_frames_list2
<-
lapply
(
data_frames_list
,
unnest
)
})
combined_df
<-
do.call
(
rbind
,
data_frames_list2
)
tokenlist
<-
read_xlsx
(
"G:/IMEBI_POST/Kunze.Mareike/token.xlsx"
)
result
<-
left_join
(
tokenlist
,
combined_df
,
by
=
c
(
"originaltoken"
=
"token"
))
result
<-
result
%>%
select
(
-
id
,
-
submitdate
,
-
lastpage
,
-
startlanguage
,
-
seed
,
-
startdate
,
-
datestamp
,
-
ipaddr
,
-
FB0Q7q1
,
-
FB0Q7q2.1.
,
-
FB0Q7q2.2.
)
print
(
result
)
write.csv
(
result
,
paste0
(
"./Adressen_nach_tokenliste_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
".csv"
),
row.names
=
F
)
This diff is collapsed.
Click to expand it.
function_load.R
View file @
20ee4e9d
...
...
@@ -30,67 +30,71 @@ if (length(commandArgs(trailingOnly = TRUE)) > 0) {
#create global variable for the readline-command
choice
<-
T
function_create_validfrom
<-
function
(
combinedDataFrame
){
#nrow(cleaned_df)
# Format für validfrom
# 2023-10-23 08:02
#erhöht den Tag immer um 1, damit das Skript ab dem nächsten Tag startet.
date
<-
paste
(
year
(
Sys.time
()),,,
sep
=
"-"
)
zyear
<-
year
(
Sys.time
())
zmonth
<-
month
(
Sys.time
())
zday
<-
day
(
Sys.time
())
+1
list_for_hour
<-
c
()
for
(
i
in
0
:
23
){
if
(
i
<
10
){
list_for_hour
<-
c
(
list_for_hour
,
paste0
(
zyear
,
"-"
,
zmonth
,
"-"
,
zday
,
" "
,
"0"
,
i
,
":00"
))
}
else
{
list_for_hour
<-
c
(
list_for_hour
,
paste0
(
zyear
,
"-"
,
zmonth
,
"-"
,
zday
,
" "
,
i
,
":00"
))
}
}
print
(
list_for_hour
)
# es werden 300-500 Mails in einer Stunde versendet.
# bei 24h werden somit zwischen 7200 und 12000 Mails versendet.
# bei 100.000 werten und 7200 Mails muss ich also über 14 Tage gehen.
# Erstelle einen leeren Vektor für die Datumswerte
date_values
<-
c
()
# Schleife von 0 bis 23 Stunden
for
(
i
in
0
:
23
)
{
# Erhöhe das Datum um eine Stunde
current_date
<-
start_date
+
hours
(
i
)
# Füge das Datum zum Vektor hinzu
date_values
<-
c
(
date_values
,
current_date
)
# Wenn die Stunde 23 ist, erhöhe den Tag um eins und setze die Stunde auf 0
if
(
i
==
23
)
{
start_date
<-
start_date
+
days
(
1
)
# Erhöhe den Tag um eins
start_date
<-
start_date
-
hours
(
23
)
# Setze die Stunde auf 0
}
}
anzahl_zeilen
<-
nrow
(
cleaned_df
)
# Schleife über die Anzahl der Zeilen
for
(
i
in
1
:
anzahl_zeilen
)
{
# Schreibe den aktuellen Wert in die Spalte 'column_name'
cleaned_df
$
validfrom
[
i
]
<-
date
# Aktualisiere den Wert nach jeweils 300 Zyklen
if
(
i
%%
300
==
0
)
{
date
<-
wert
+
1
}
}
combined_token_with_download
}
# Funktion findet keine Verwendung. -> nicht fertig geschrieben!!
# wird in Limesurvey über die Menge geregelt.
# function_create_validfrom <- function(combinedDataFrame){
# # Probleme die bei der automatischen Datumssetzung entstehen:
# # Beim übergang auf den nächsten Monat muss aufgepasst werden.
# # Format für validfrom
# # 2023-10-23 08:02
#
# #erhöht den Tag immer um 1, damit das Skript ab dem nächsten Tag startet.
# date <- paste(year(Sys.time()),,,sep="-")
# zyear <- year(Sys.time())
# zmonth <- month(Sys.time())
# zday <- day(Sys.time())+1
# list_for_hour <- c()
#
# for (i in 0:23){
# if(i<10){
# list_for_hour <- c(list_for_hour,paste0(zyear,"-",zmonth,"-",zday," ","0",i,":00"))
# } else{
# list_for_hour <- c(list_for_hour,paste0(zyear,"-",zmonth,"-",zday," ",i,":00"))
# }
# }
# print(list_for_hour)
#
# # es werden 300-500 Mails in einer Stunde versendet.
# # bei 24h werden somit zwischen 7200 und 12000 Mails versendet.
# # bei 100.000 werten und 7200 Mails muss ich also über 14 Tage gehen.
#
# # Erstelle einen leeren Vektor für die Datumswerte
# date_values <- c()
#
# # Schleife von 0 bis 23 Stunden
# for (i in 0:23) {
# # Erhöhe das Datum um eine Stunde
# current_date <- start_date + hours(i)
#
# # Füge das Datum zum Vektor hinzu
# date_values <- c(date_values, current_date)
#
# # Wenn die Stunde 23 ist, erhöhe den Tag um eins und setze die Stunde auf 0
# if (i == 23) {
# start_date <- start_date + days(1) # Erhöhe den Tag um eins
# start_date <- start_date - hours(23) # Setze die Stunde auf 0
# }
# }
#
#
# anzahl_zeilen <- nrow(cleaned_df)
#
# # Schleife über die Anzahl der Zeilen
# for (i in 1:anzahl_zeilen) {
# # Schreibe den aktuellen Wert in die Spalte 'column_name'
# cleaned_df$validfrom[i] <- date
#
# # Aktualisiere den Wert nach jeweils 300 Zyklen
# if (i %% 300 == 0) {
# date <- wert + 1
# }
# }
#
#
#
# combined_token_with_download
# }
#first: define all functions:
...
...
@@ -143,15 +147,19 @@ function_start <- function(){
cat
(
" wird verwendet, wenn TN angeschrieben werden, bei denen in der Mail keine Haushalts-ID angegeben wird.\n"
)
cat
(
" Tokenliste OHNE Haushald-ID erhält man von den wissenschaftlichen Mitarbeiter*innen\n"
)
cat
(
"-------------------------------------------------------------------------------------------------------------------\n"
)
cat
(
"5 = Tokenaufbereiter CoPrep Radiologie:\n"
)
#cat(" wird verwendet, wenn TN angeschrieben werden, bei denen in der Mail keine Haushalts-ID angegeben wird.\n")
#cat(" Tokenliste OHNE Haushald-ID erhält man von den wissenschaftlichen Mitarbeiter*innen\n")
cat
(
"-------------------------------------------------------------------------------------------------------------------\n"
)
cat
(
"9 = mir ist ein Fehler passiert. Es wird nichts gespeichert!\n"
)
function_read_prompt
()
if
(
!
choice
%in%
c
(
"1"
,
"2"
,
"3"
,
"4"
,
"9"
)){
if
(
!
choice
%in%
c
(
"1"
,
"2"
,
"3"
,
"4"
,
"
5"
,
"
9"
)){
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"##################\n"
)
cat
(
"Ungültige Auswahl! Bitte verwende: 1, 2, 3, 4 oder 9. Danke.\n"
)
cat
(
"Ungültige Auswahl! Bitte verwende: 1, 2, 3, 4
, 5
oder 9. Danke.\n"
)
cat
(
"##################\n"
)
cat
(
"\n"
)
cat
(
"\n"
)
...
...
@@ -168,13 +176,15 @@ function_start <- function(){
function_Tokenaufbereiter_MIT_HHID_als_firstname
()
}
else
if
(
choice
==
4
)
{
function_Tokenaufbereiter_OHNE_HHID
()
}
else
if
(
choice
==
5
)
{
function_Tokenaufbereiter_coprep_radiologie
()
}
else
{
function_exit
()
}
}
}
#Nummer 1
function_Tokenaufbereiter_alle_TN
<-
function
()
{
cat
(
"\n"
)
cat
(
"Tokenaufbereiter alle TN\n"
)
...
...
@@ -192,7 +202,7 @@ function_Tokenaufbereiter_alle_TN <- function() {
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
id
,
.before
=
firstname
)
#save the file
#setwd("
H
:/
01_Limesurvey_TokenVergleich
")
#setwd("
P
:/
IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien
")
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_alle_TN.csv"
),
row.names
=
F
)
...
...
@@ -200,6 +210,7 @@ function_Tokenaufbereiter_alle_TN <- function() {
}
#Nummer 2
function_Tokenaufbereiter_Newsletter
<-
function
()
{
cat
(
"\n"
)
cat
(
"Tokenaufbereiter Newsletter\n"
)
...
...
@@ -241,7 +252,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
filter
(
!
token
%in%
token_for_newsletter_to_remove
$
token
)
#save the file
#setwd("
H
:/
01_Limesurvey_TokenVergleich
")
#setwd("
P
:/
IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien
")
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_Newsletter.csv"
),
row.names
=
F
)
function_end
()
...
...
@@ -252,7 +263,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
}
}
# Nummer 3
function_Tokenaufbereiter_MIT_HHID_als_firstname
<-
function
()
{
cat
(
"\n"
)
cat
(
"Tokenaufbereiter MIT HHID als firstname\n"
)
...
...
@@ -303,17 +314,18 @@ function_Tokenaufbereiter_MIT_HHID_als_firstname <- function() {
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
token
,
.after
=
emailstatus
)
#save the file
#setwd("
H
:/
01_Limesurvey_TokenVergleich
")
#setwd("
P
:/
IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien
")
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_mit_HHID_as_firstname.csv"
),
row.names
=
F
)
function_end
()
}
else
{
#Eing
e
be: irgenwas auser [ENTER] -> Abbruch
#Eing
a
be: irgen
d
was aus
s
er [ENTER] -> Abbruch
function_exit
()
}
}
#Nummer 4
function_Tokenaufbereiter_OHNE_HHID
<-
function
()
{
cat
(
"\n"
)
cat
(
"Tokenaufbereiter OHNE HHID\n"
)
...
...
@@ -332,6 +344,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
if
(
choice
==
"y"
||
choice
==
""
){
#Eingabe: [ENTER] -> weiter gehts
#token_list <- read_xlsx(file.choose())
#laden und joinen
token_list
<-
tryCatch
({
read_xlsx
(
file.choose
())
...
...
@@ -351,7 +364,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
#save the file
setwd
(
"
H
:/
01_Limesurvey_TokenVergleich
"
)
#
setwd("
P
:/
IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien
")
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_ohne_HHID.csv"
),
row.names
=
F
)
function_end
()
...
...
@@ -360,11 +373,71 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
#Eingabe: irgenwas auser [ENTER] -> Abbruch
function_exit
()
}
}
#Coprep-Radiologie
#Nummer 5 _ Neu Eingefügt am 12.11.2024 nach Anfrage von Mareike
function_Tokenaufbereiter_coprep_radiologie
<-
function
()
{
cat
(
"\n"
)
cat
(
"Tokenaufbereiter für CoPrep Radiologie\n"
)
cat
(
"---------------------------------------\n"
)
if
(
use_powershell
){
cat
(
"Hast du die Datei? Press [y + ENTER]. Ansonsten kann das Script mit Eingabe von [e + ENTER] beendet werden\n"
)
}
else
{
cat
(
"Hast du die Datei? Press [ENTER]. Ansonsten kann das Script mit Eingabe von [e + ENTER] beendet werden\n"
)
}
function_read_prompt
()
if
(
choice
==
"y"
||
choice
==
""
){
#Eingabe: [ENTER] -> weiter gehts
#laden und joinen
token_list
<-
tryCatch
({
read_xlsx
(
file.choose
())
},
error
=
function
(
e
)
{
message
(
"Failure: "
,
conditionMessage
(
e
))
NULL
function_exit
()
})
names
(
token_list
)
<-
tolower
(
names
(
token_list
))
combined_token_with_download
<-
inner_join
(
token_list
,
cleaned_df
,
by
=
c
(
"hhid"
=
"token"
))
#rename
combined_token_with_download
<-
combined_token_with_download
%>%
rename
(
first
=
firstname
)
combined_token_with_download
<-
combined_token_with_download
%>%
rename
(
last
=
lastname
)
combined_token_with_download
$
lastname
<-
paste
(
combined_token_with_download
$
first
,
combined_token_with_download
$
last
,
sep
=
" "
)
combined_token_with_download
<-
combined_token_with_download
%>%
rename
(
firstname
=
hhid
)
combined_token_with_download
$
first
<-
NULL
combined_token_with_download
$
last
<-
NULL
# zeilennummer erzeugen
combined_token_with_download
<-
combined_token_with_download
%>%
mutate
(
id
=
row_number
())
#relocate
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
id
,
.before
=
firstname
)
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
lastname
,
.after
=
firstname
)
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
token
,
.after
=
emailstatus
)
#save the file
#setwd("P:/IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien")
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_CoPrep_Radiologie.csv"
),
row.names
=
F
)
function_end
()
}
else
{
#Eingabe: irgendwas ausser [ENTER] -> Abbruch
function_exit
()
}
}
function_exit
<-
function
()
{
cat
(
"\n"
)
cat
(
"Script wird beendet. Es erfolgt keine Speicherung irgendwelcher Dateien.\n"
)
...
...
This diff is collapsed.
Click to expand it.
main.r
View file @
20ee4e9d
...
...
@@ -21,7 +21,7 @@ setwd("P:/IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter")
cat
(
"####\n"
)
cat
(
"At the end, all generated files are stored in the following working directory:\n"
)
# nolint: line_length_linter.
cat
(
getwd
(),
"\n"
)
cat
(
getwd
(),
"/erstellte_Dateien"
,
"\n"
)
cat
(
"####\n"
)
# load packages and source files #
...
...
@@ -77,37 +77,47 @@ atr <- c(
#"invited",
#"reminded",
p_433442_00
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
1
,
iLimit
=
50000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_01
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
50001
,
iLimit
=
100000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"####\n"
)
cat
(
"Der größte Wert aus der Umfrage 433442 zeigt: "
)
print
(
max
(
p_433442_01
$
tid
,
na.rm
=
TRUE
))
if
(
max
(
p_433442_01
$
tid
,
na.rm
=
TRUE
)
>=
99900
){
cat
(
"Die tid der Tabelle 433442 steht kurz vor 100.000 -> nochmal im Skript schauen, damit der Ablauf passt.\n"
)
cat
(
"Nachdem tid >= 100.001 wird die dritte Datei der Umfrage 433442 geladen und nicht mehr gelöscht.\n"
)
}
cat
(
"####\n"
)
cat
(
"\n"
)
#Umfrage zum Zeitpunkt der Erstellung des Skripts: 21.05.2024 noch leer
#Die Datei enhält eine Spalte mit name status : "No survey participants found."
p_433442_02
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
100001
,
iLimit
=
150000
,
bUnused
=
FALSE
,
aAttributes
=
FALSE
)
#daher: solange die Tabelle leer ist, wird sie gleich wieder gelöscht
if
(
"status"
%in%
colnames
(
p_433442_02
)){
rm
(
p_433442_02
)
}
else
if
(
max
(
p_433442_02
$
tid
,
na.rm
=
TRUE
)
>=
0
){
cat
(
"!!!!\n"
)
cat
(
"Das Skript lädt jetzt den 3.Teil der Umfrage: 433442\n"
)
cat
(
"Das aktuelle Tid beträgt:"
)
print
(
max
(
p_433442_02
$
tid
,
na.rm
=
TRUE
))
cat
(
"!!!!\n"
)
cat
(
"\n"
)
# URSPRÜNGLICH VERWENDET::
# p_433442_00<- get_participants(iSurveyID = 433442,iStart=1,iLimit = 50000, bUnused=FALSE, aAttributes=atr)
# p_433442_01<- get_participants(iSurveyID = 433442,iStart=50001,iLimit = 100000, bUnused=FALSE, aAttributes=atr)
# Das ist aber falsch, da hier zuviele Daten geladen werden. Das iLimit gibt nicht an, bis wohin geladen wird, sondern wieviele Daten gezogen werden.
# Schleife -> nicht geschrieben
# Fehlerhafte Werte werden in nachfolgenden Prüfung wieder heraus sortiert
p_433442_00
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
1
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_01
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
25001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_02
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
50001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_03
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
75001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_04
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
100001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_05
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
125001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_06
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
150001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_07
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
175001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_08
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
200001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_09
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
225001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_10
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
250001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_11
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
275001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_12
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
300001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_13
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
325001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_14
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
375001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_15
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
400001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
# Liste für die Prüfung und Löschung
alle_p_433442
<-
mget
(
ls
(
pattern
=
"^p_433442_"
))
for
(
element
in
names
(
alle_p_433442
))
{
# Spalte "status" -> dann ist die Liste leer -> löschen
if
(
"status"
%in%
colnames
(
alle_p_433442
[[
element
]]))
{
rm
(
list
=
element
,
envir
=
.GlobalEnv
)
}
}
#Zwischenliste wieder entfernen
rm
(
alle_p_433442
)
print
(
"p_433442_xx vollständig heruntergeladen"
)
p_144481_00
<-
get_participants
(
iSurveyID
=
144481
,
iStart
=
1
,
iLimit
=
50000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
print
(
"p_144481_00 heruntergeladen"
)
p_538473_00
<-
get_participants
(
iSurveyID
=
538473
,
iStart
=
1
,
iLimit
=
50000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
print
(
"p_538473_00 heruntergeladen"
)
#erste Idee für die Weiterarbeit ####
#binden und "tid" entfernen
#token144481 <- read.csv("tokens_144481.csv")
...
...
@@ -119,7 +129,7 @@ p_538473_00<- get_participants(iSurveyID = 538473,iStart=1,iLimit = 50000, bUnus
#alle "Test"-Zeilen entfernen
#TestTokens NUR über firstname identifizieren
#token<- token |> filter(!str_detect(tolower(firstname), 'test'))
cat
(
"\n"
)
cat
(
"####\n"
)
cat
(
"Der Download wurde abgeschlossen.\n"
)
cat
(
"Nun werden die heruntergeladen Tabellen verbunden.\n"
)
...
...
@@ -152,7 +162,7 @@ removed_test_values <- unique_df[!unique_df$firstname %in% values_to_delete, ]
#SAS und Anführungszeichen -> entfällt hier in R #
# Umlaute ersetzen #
# encode
cleaned_df
<-
removed_test_values
|>
mutate
(
across
(
firstname
|
lastname
,
\
(
x
)
stringr
::
str_replace_all
(
string
=
x
,
c
(
'ä'
=
'ae'
,
...
...
@@ -167,7 +177,94 @@ cleaned_df <- removed_test_values |> mutate(across(firstname | lastname,
'š'
=
's'
,
'Ž'
=
'z'
,
'–'
=
'-'
,
'õ'
=
'oe'
'õ'
=
'oe'
,
'ẞ'
=
'ss'
,
'ć'
=
'c'
,
'â'
=
'a'
,
'ż'
=
'z'
,
'ä'
=
'ae'
,
'ë'
=
'ee'
,
'ö'
=
'oe'
,
'ü'
=
'ue'
,
'Ä'
=
'Ae'
,
'Ë'
=
'Ee'
,
'Ö'
=
'Oe'
,
'Ü'
=
'Ue'
,
'ß'
=
'ss'
,
'é'
=
'e'
,
'è'
=
'e'
,
'ê'
=
'e'
,
'ç'
=
'c'
,
'á'
=
'a'
,
'à'
=
'a'
,
'â'
=
'a'
,
'í'
=
'i'
,
'ì'
=
'i'
,
'î'
=
'i'
,
'ó'
=
'o'
,
'ò'
=
'o'
,
'ô'
=
'o'
,
'ú'
=
'u'
,
'ù'
=
'u'
,
'û'
=
'u'
,
'ñ'
=
'n'
,
'ý'
=
'y'
,
'ÿ'
=
'y'
,
'å'
=
'a'
,
'ø'
=
'o'
,
'Æ'
=
'Ae'
,
'Ø'
=
'Oe'
,
'Å'
=
'Aa'
,
'ą'
=
'a'
,
'ć'
=
'c'
,
'ę'
=
'e'
,
'ł'
=
'l'
,
'ń'
=
'n'
,
'ś'
=
's'
,
'ź'
=
'z'
,
'ż'
=
'z'
,
'Ą'
=
'A'
,
'Ć'
=
'C'
,
'Ę'
=
'E'
,
'Ł'
=
'L'
,
'Ń'
=
'N'
,
'Ś'
=
'S'
,
'Ź'
=
'Z'
,
'Ż'
=
'Z'
,
'č'
=
'c'
,
'ď'
=
'd'
,
'ě'
=
'e'
,
'ň'
=
'n'
,
'ř'
=
'r'
,
'š'
=
's'
,
'ť'
=
't'
,
'ů'
=
'u'
,
'ž'
=
'z'
,
'Č'
=
'C'
,
'Ď'
=
'D'
,
'Ě'
=
'E'
,
'Ň'
=
'N'
,
'Ř'
=
'R'
,
'Š'
=
'S'
,
'Ť'
=
'T'
,
'Ů'
=
'U'
,
'Ž'
=
'Z'
,
'⁸'
=
''
,
'♀'
=
''
,
'‘'
=
''
,
'ã'
=
'a'
,
'ğ'
=
'g'
,
'É'
=
'E'
,
'Á'
=
'A'
,
'ş'
=
's'
,
'ū'
=
'u'
,
'ė'
=
'e'
,
'æ'
=
'ae'
,
'É'
=
'E'
,
'ş'
=
's'
,
'ı'
=
'l'
,
'ö'
=
'oe'
,
'!'
=
''
))))
# Die nicht geladenen Spalten neu einbinden und mit festen Werten speichern #
...
...
@@ -181,7 +278,7 @@ cleaned_df$remindercount <- "0"
cleaned_df
$
completed
<-
"N"
cleaned_df
$
usesleft
<-
"1"
#sort at the beginning of the dataframe
#
sort at the beginning of the dataframe
####
list_for_email_sort
<-
c
(
"Niki2007dc@gmx.com"
,
"Nadine.Glaser97@web.de"
,
"Jasmin.kroeber@gmx.de"
)
for
(
element
in
list_for_email_sort
){
specific_rows
<-
cleaned_df
[
cleaned_df
$
email
==
element
,
]
...
...
@@ -191,6 +288,6 @@ for (element in list_for_email_sort){
setwd
(
"P:/IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter/erstellte_Dateien"
)
# after cleaning . start with the user query ####
function_start
()
This diff is collapsed.
Click to expand it.