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) {
...
@@ -30,67 +30,71 @@ if (length(commandArgs(trailingOnly = TRUE)) > 0) {
#create global variable for the readline-command
#create global variable for the readline-command
choice
<-
T
choice
<-
T
function_create_validfrom
<-
function
(
combinedDataFrame
){
#nrow(cleaned_df)
# Funktion findet keine Verwendung. -> nicht fertig geschrieben!!
# Format für validfrom
# wird in Limesurvey über die Menge geregelt.
# 2023-10-23 08:02
# function_create_validfrom <- function(combinedDataFrame){
# # Probleme die bei der automatischen Datumssetzung entstehen:
#erhöht den Tag immer um 1, damit das Skript ab dem nächsten Tag startet.
# # Beim übergang auf den nächsten Monat muss aufgepasst werden.
date
<-
paste
(
year
(
Sys.time
()),,,
sep
=
"-"
)
# # Format für validfrom
zyear
<-
year
(
Sys.time
())
# # 2023-10-23 08:02
zmonth
<-
month
(
Sys.time
())
#
zday
<-
day
(
Sys.time
())
+1
# #erhöht den Tag immer um 1, damit das Skript ab dem nächsten Tag startet.
list_for_hour
<-
c
()
# date <- paste(year(Sys.time()),,,sep="-")
# zyear <- year(Sys.time())
for
(
i
in
0
:
23
){
# zmonth <- month(Sys.time())
if
(
i
<
10
){
# zday <- day(Sys.time())+1
list_for_hour
<-
c
(
list_for_hour
,
paste0
(
zyear
,
"-"
,
zmonth
,
"-"
,
zday
,
" "
,
"0"
,
i
,
":00"
))
# list_for_hour <- c()
}
else
{
#
list_for_hour
<-
c
(
list_for_hour
,
paste0
(
zyear
,
"-"
,
zmonth
,
"-"
,
zday
,
" "
,
i
,
":00"
))
# for (i in 0:23){
}
# if(i<10){
}
# list_for_hour <- c(list_for_hour,paste0(zyear,"-",zmonth,"-",zday," ","0",i,":00"))
print
(
list_for_hour
)
# } else{
# list_for_hour <- c(list_for_hour,paste0(zyear,"-",zmonth,"-",zday," ",i,":00"))
# 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.
# print(list_for_hour)
#
# Erstelle einen leeren Vektor für die Datumswerte
# # es werden 300-500 Mails in einer Stunde versendet.
date_values
<-
c
()
# # bei 24h werden somit zwischen 7200 und 12000 Mails versendet.
# # bei 100.000 werten und 7200 Mails muss ich also über 14 Tage gehen.
# Schleife von 0 bis 23 Stunden
#
for
(
i
in
0
:
23
)
{
# # Erstelle einen leeren Vektor für die Datumswerte
# Erhöhe das Datum um eine Stunde
# date_values <- c()
current_date
<-
start_date
+
hours
(
i
)
#
# # Schleife von 0 bis 23 Stunden
# Füge das Datum zum Vektor hinzu
# for (i in 0:23) {
date_values
<-
c
(
date_values
,
current_date
)
# # Erhöhe das Datum um eine Stunde
# current_date <- start_date + hours(i)
# Wenn die Stunde 23 ist, erhöhe den Tag um eins und setze die Stunde auf 0
#
if
(
i
==
23
)
{
# # Füge das Datum zum Vektor hinzu
start_date
<-
start_date
+
days
(
1
)
# Erhöhe den Tag um eins
# date_values <- c(date_values, current_date)
start_date
<-
start_date
-
hours
(
23
)
# Setze die Stunde auf 0
#
}
# # 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'
# anzahl_zeilen <- nrow(cleaned_df)
cleaned_df
$
validfrom
[
i
]
<-
date
#
# # Schleife über die Anzahl der Zeilen
# Aktualisiere den Wert nach jeweils 300 Zyklen
# for (i in 1:anzahl_zeilen) {
if
(
i
%%
300
==
0
)
{
# # Schreibe den aktuellen Wert in die Spalte 'column_name'
date
<-
wert
+
1
# cleaned_df$validfrom[i] <- date
}
#
}
# # Aktualisiere den Wert nach jeweils 300 Zyklen
# if (i %% 300 == 0) {
# date <- wert + 1
# }
combined_token_with_download
# }
}
#
#
#
# combined_token_with_download
# }
#first: define all functions:
#first: define all functions:
...
@@ -143,15 +147,19 @@ function_start <- function(){
...
@@ -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
(
" 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
(
" Tokenliste OHNE Haushald-ID erhält man von den wissenschaftlichen Mitarbeiter*innen\n"
)
cat
(
"-------------------------------------------------------------------------------------------------------------------\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"
)
cat
(
"9 = mir ist ein Fehler passiert. Es wird nichts gespeichert!\n"
)
function_read_prompt
()
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
(
"\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"
)
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"\n"
)
...
@@ -168,13 +176,15 @@ function_start <- function(){
...
@@ -168,13 +176,15 @@ function_start <- function(){
function_Tokenaufbereiter_MIT_HHID_als_firstname
()
function_Tokenaufbereiter_MIT_HHID_als_firstname
()
}
else
if
(
choice
==
4
)
{
}
else
if
(
choice
==
4
)
{
function_Tokenaufbereiter_OHNE_HHID
()
function_Tokenaufbereiter_OHNE_HHID
()
}
else
if
(
choice
==
5
)
{
function_Tokenaufbereiter_coprep_radiologie
()
}
else
{
}
else
{
function_exit
()
function_exit
()
}
}
}
}
}
}
#Nummer 1
function_Tokenaufbereiter_alle_TN
<-
function
()
{
function_Tokenaufbereiter_alle_TN
<-
function
()
{
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"Tokenaufbereiter alle TN\n"
)
cat
(
"Tokenaufbereiter alle TN\n"
)
...
@@ -192,7 +202,7 @@ function_Tokenaufbereiter_alle_TN <- function() {
...
@@ -192,7 +202,7 @@ function_Tokenaufbereiter_alle_TN <- function() {
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
id
,
.before
=
firstname
)
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
id
,
.before
=
firstname
)
#save the file
#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
)
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() {
...
@@ -200,6 +210,7 @@ function_Tokenaufbereiter_alle_TN <- function() {
}
}
#Nummer 2
function_Tokenaufbereiter_Newsletter
<-
function
()
{
function_Tokenaufbereiter_Newsletter
<-
function
()
{
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"Tokenaufbereiter Newsletter\n"
)
cat
(
"Tokenaufbereiter Newsletter\n"
)
...
@@ -241,7 +252,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
...
@@ -241,7 +252,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
filter
(
!
token
%in%
token_for_newsletter_to_remove
$
token
)
filter
(
!
token
%in%
token_for_newsletter_to_remove
$
token
)
#save the file
#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
)
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_Newsletter.csv"
),
row.names
=
F
)
function_end
()
function_end
()
...
@@ -252,7 +263,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
...
@@ -252,7 +263,7 @@ function_Tokenaufbereiter_Newsletter <- function() {
}
}
}
}
# Nummer 3
function_Tokenaufbereiter_MIT_HHID_als_firstname
<-
function
()
{
function_Tokenaufbereiter_MIT_HHID_als_firstname
<-
function
()
{
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"Tokenaufbereiter MIT HHID als firstname\n"
)
cat
(
"Tokenaufbereiter MIT HHID als firstname\n"
)
...
@@ -303,17 +314,18 @@ function_Tokenaufbereiter_MIT_HHID_als_firstname <- function() {
...
@@ -303,17 +314,18 @@ function_Tokenaufbereiter_MIT_HHID_als_firstname <- function() {
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
token
,
.after
=
emailstatus
)
combined_token_with_download
<-
combined_token_with_download
|>
relocate
(
token
,
.after
=
emailstatus
)
#save the file
#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
)
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_mit_HHID_as_firstname.csv"
),
row.names
=
F
)
function_end
()
function_end
()
}
else
{
}
else
{
#Eing
e
be: irgenwas auser [ENTER] -> Abbruch
#Eing
a
be: irgen
d
was aus
s
er [ENTER] -> Abbruch
function_exit
()
function_exit
()
}
}
}
}
#Nummer 4
function_Tokenaufbereiter_OHNE_HHID
<-
function
()
{
function_Tokenaufbereiter_OHNE_HHID
<-
function
()
{
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"Tokenaufbereiter OHNE HHID\n"
)
cat
(
"Tokenaufbereiter OHNE HHID\n"
)
...
@@ -332,6 +344,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
...
@@ -332,6 +344,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
if
(
choice
==
"y"
||
choice
==
""
){
if
(
choice
==
"y"
||
choice
==
""
){
#Eingabe: [ENTER] -> weiter gehts
#Eingabe: [ENTER] -> weiter gehts
#token_list <- read_xlsx(file.choose())
#laden und joinen
#laden und joinen
token_list
<-
tryCatch
({
token_list
<-
tryCatch
({
read_xlsx
(
file.choose
())
read_xlsx
(
file.choose
())
...
@@ -351,7 +364,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
...
@@ -351,7 +364,7 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
#save the file
#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
)
write.csv
(
combined_token_with_download
,
paste0
(
"./Umfrageteilnehmertabelle_"
,
format
(
Sys.Date
(),
"%Y_%m_%d"
),
"_ohne_HHID.csv"
),
row.names
=
F
)
function_end
()
function_end
()
...
@@ -360,11 +373,71 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
...
@@ -360,11 +373,71 @@ function_Tokenaufbereiter_OHNE_HHID <- function() {
#Eingabe: irgenwas auser [ENTER] -> Abbruch
#Eingabe: irgenwas auser [ENTER] -> Abbruch
function_exit
()
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
()
{
function_exit
<-
function
()
{
cat
(
"\n"
)
cat
(
"\n"
)
cat
(
"Script wird beendet. Es erfolgt keine Speicherung irgendwelcher Dateien.\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")
...
@@ -21,7 +21,7 @@ setwd("P:/IMEBI/DigiHero_Teilnehmerdaten/Massenmails/tokenaufbereiter")
cat
(
"####\n"
)
cat
(
"####\n"
)
cat
(
"At the end, all generated files are stored in the following working directory:\n"
)
# nolint: line_length_linter.
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"
)
cat
(
"####\n"
)
# load packages and source files #
# load packages and source files #
...
@@ -77,37 +77,47 @@ atr <- c(
...
@@ -77,37 +77,47 @@ atr <- c(
#"invited",
#"invited",
#"reminded",
#"reminded",
p_433442_00
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
1
,
iLimit
=
50000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
# URSPRÜNGLICH VERWENDET::
p_433442_01
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
50001
,
iLimit
=
100000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
# p_433442_00<- get_participants(iSurveyID = 433442,iStart=1,iLimit = 50000, bUnused=FALSE, aAttributes=atr)
cat
(
"####\n"
)
# p_433442_01<- get_participants(iSurveyID = 433442,iStart=50001,iLimit = 100000, bUnused=FALSE, aAttributes=atr)
cat
(
"Der größte Wert aus der Umfrage 433442 zeigt: "
)
# Das ist aber falsch, da hier zuviele Daten geladen werden. Das iLimit gibt nicht an, bis wohin geladen wird, sondern wieviele Daten gezogen werden.
print
(
max
(
p_433442_01
$
tid
,
na.rm
=
TRUE
))
if
(
max
(
p_433442_01
$
tid
,
na.rm
=
TRUE
)
>=
99900
){
# Schleife -> nicht geschrieben
cat
(
"Die tid der Tabelle 433442 steht kurz vor 100.000 -> nochmal im Skript schauen, damit der Ablauf passt.\n"
)
# Fehlerhafte Werte werden in nachfolgenden Prüfung wieder heraus sortiert
cat
(
"Nachdem tid >= 100.001 wird die dritte Datei der Umfrage 433442 geladen und nicht mehr gelöscht.\n"
)
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
)
cat
(
"####\n"
)
p_433442_02
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
50001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"\n"
)
p_433442_03
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
75001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
#Umfrage zum Zeitpunkt der Erstellung des Skripts: 21.05.2024 noch leer
p_433442_04
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
100001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
#Die Datei enhält eine Spalte mit name status : "No survey participants found."
p_433442_05
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
125001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
p_433442_02
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
100001
,
iLimit
=
150000
,
bUnused
=
FALSE
,
aAttributes
=
FALSE
)
p_433442_06
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
150001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
#daher: solange die Tabelle leer ist, wird sie gleich wieder gelöscht
p_433442_07
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
175001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
if
(
"status"
%in%
colnames
(
p_433442_02
)){
p_433442_08
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
200001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
rm
(
p_433442_02
)
p_433442_09
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
225001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
}
else
if
(
max
(
p_433442_02
$
tid
,
na.rm
=
TRUE
)
>=
0
){
p_433442_10
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
250001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"!!!!\n"
)
p_433442_11
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
275001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"Das Skript lädt jetzt den 3.Teil der Umfrage: 433442\n"
)
p_433442_12
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
300001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"Das aktuelle Tid beträgt:"
)
p_433442_13
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
325001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
print
(
max
(
p_433442_02
$
tid
,
na.rm
=
TRUE
))
p_433442_14
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
375001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"!!!!\n"
)
p_433442_15
<-
get_participants
(
iSurveyID
=
433442
,
iStart
=
400001
,
iLimit
=
25000
,
bUnused
=
FALSE
,
aAttributes
=
atr
)
cat
(
"\n"
)
# 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
)
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
)
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 ####
#erste Idee für die Weiterarbeit ####
#binden und "tid" entfernen
#binden und "tid" entfernen
#token144481 <- read.csv("tokens_144481.csv")
#token144481 <- read.csv("tokens_144481.csv")
...
@@ -119,7 +129,7 @@ p_538473_00<- get_participants(iSurveyID = 538473,iStart=1,iLimit = 50000, bUnus
...
@@ -119,7 +129,7 @@ p_538473_00<- get_participants(iSurveyID = 538473,iStart=1,iLimit = 50000, bUnus
#alle "Test"-Zeilen entfernen
#alle "Test"-Zeilen entfernen
#TestTokens NUR über firstname identifizieren
#TestTokens NUR über firstname identifizieren
#token<- token |> filter(!str_detect(tolower(firstname), 'test'))
#token<- token |> filter(!str_detect(tolower(firstname), 'test'))
cat
(
"\n"
)
cat
(
"####\n"
)
cat
(
"####\n"
)
cat
(
"Der Download wurde abgeschlossen.\n"
)
cat
(
"Der Download wurde abgeschlossen.\n"
)
cat
(
"Nun werden die heruntergeladen Tabellen verbunden.\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, ]
...
@@ -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 #
#SAS und Anführungszeichen -> entfällt hier in R #
# Umlaute ersetzen #
# Umlaute ersetzen #
# encode
cleaned_df
<-
removed_test_values
|>
mutate
(
across
(
firstname
|
lastname
,
cleaned_df
<-
removed_test_values
|>
mutate
(
across
(
firstname
|
lastname
,
\
(
x
)
stringr
::
str_replace_all
(
string
=
x
,
\
(
x
)
stringr
::
str_replace_all
(
string
=
x
,
c
(
'ä'
=
'ae'
,
c
(
'ä'
=
'ae'
,
...
@@ -167,7 +177,94 @@ cleaned_df <- removed_test_values |> mutate(across(firstname | lastname,
...
@@ -167,7 +177,94 @@ cleaned_df <- removed_test_values |> mutate(across(firstname | lastname,
'š'
=
's'
,
'š'
=
's'
,
'Ž'
=
'z'
,
'Ž'
=
'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 #
# Die nicht geladenen Spalten neu einbinden und mit festen Werten speichern #
...
@@ -181,7 +278,7 @@ cleaned_df$remindercount <- "0"
...
@@ -181,7 +278,7 @@ cleaned_df$remindercount <- "0"
cleaned_df
$
completed
<-
"N"
cleaned_df
$
completed
<-
"N"
cleaned_df
$
usesleft
<-
"1"
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"
)
list_for_email_sort
<-
c
(
"Niki2007dc@gmx.com"
,
"Nadine.Glaser97@web.de"
,
"Jasmin.kroeber@gmx.de"
)
for
(
element
in
list_for_email_sort
){
for
(
element
in
list_for_email_sort
){
specific_rows
<-
cleaned_df
[
cleaned_df
$
email
==
element
,
]
specific_rows
<-
cleaned_df
[
cleaned_df
$
email
==
element
,
]
...
@@ -191,6 +288,6 @@ for (element in list_for_email_sort){
...
@@ -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 ####
# after cleaning . start with the user query ####
function_start
()
function_start
()
This diff is collapsed.
Click to expand it.