library("reader") # SET DIRECTORY OF THIS FILE AS WORKING DIRECTORY setwd(dirname(rstudioapi::getSourceEditorContext()$path)) # Generate signal data for subjects ## Set number of random draws for each group sample_size = 11 ## Initialize median vectors citizen_median_immigration <- c() mp_median_immigration <- c() citizen_median_redistribution <- c() mp_median_redistribution <- c() citizen_median_climate <- c() mp_median_climate <- c() ## For i=1 ### Generate sample data for citizen and MP attitudes regarding immigration citizen_sample_attitude_immigration_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.1, 0.15, 0.2, 0.2, 0.35)), levels = 1:5) mp_sample_attitude_immigration_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.3, 0.3, 0.15, 0.1, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs as factors citizen_sample_median_immigration_1 <- median(as.numeric(citizen_sample_attitude_immigration_1)) mp_sample_median_immigration_1 <- median(as.numeric(mp_sample_attitude_immigration_1)) citizen_median_immigration <- c(citizen_median_immigration, citizen_sample_median_immigration_1) mp_median_immigration <- c(mp_median_immigration, mp_sample_median_immigration_1) ### Calculate and append data table of citizen and MP attitudes as numbers citizen_histogram_data_immigration <- as.numeric(table(citizen_sample_attitude_immigration_1)) mp_histogram_data_immigration <- as.numeric(table(mp_sample_attitude_immigration_1)) ### Generate sample data for citizen and MP attitudes regarding redistribution citizen_sample_attitude_redistribution_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.35, 0.25, 0.15, 0.15, 0.1)), levels = 1:5) mp_sample_attitude_redistribution_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.2, 0.2, 0.25, 0.2, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs as factors citizen_sample_median_redistribution_1 <- median(as.numeric(citizen_sample_attitude_redistribution_1)) mp_sample_median_redistribution_1 <- median(as.numeric(mp_sample_attitude_redistribution_1)) citizen_median_redistribution <- c(citizen_median_redistribution, citizen_sample_median_redistribution_1) mp_median_redistribution <- c(mp_median_redistribution, mp_sample_median_redistribution_1) ### Calculate and append data table of citizen and MP attitudes as numbers citizen_histogram_data_redistribution <- as.numeric(table(citizen_sample_attitude_redistribution_1)) mp_histogram_data_redistribution <- as.numeric(table(mp_sample_attitude_redistribution_1)) ### Generate sample data for citizen and MP attitudes regarding climate change citizen_sample_attitude_climate_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.15, 0.15, 0.25, 0.2, 0.25)), levels = 1:5) mp_sample_attitude_climate_1 <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.2, 0.2, 0.25, 0.2, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs as factors citizen_sample_median_climate_1 <- median(as.numeric(citizen_sample_attitude_climate_1)) mp_sample_median_climate_1 <- median(as.numeric(mp_sample_attitude_climate_1)) citizen_median_climate <- c(citizen_median_climate, citizen_sample_median_climate_1) mp_median_climate <- c(mp_median_climate, mp_sample_median_climate_1) ### Calculate and append data table of citizen and MP attitudes as numbers citizen_histogram_data_climate <- as.numeric(table(citizen_sample_attitude_climate_1)) mp_histogram_data_climate <- as.numeric(table(mp_sample_attitude_climate_1)) ## Loop over remaining (expected) number of subjects for(i in 2:500){ ### Generate sample data for citizen and MP attitudes regarding immigration citizen_sample_attitude_immigration_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.1, 0.15, 0.2, 0.2, 0.35)), levels = 1:5) mp_sample_attitude_immigration_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.3, 0.3, 0.15, 0.1, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs citizen_sample_median_immigration_temp <- median(as.numeric(citizen_sample_attitude_immigration_temp)) mp_sample_median_immigration_temp <- median(as.numeric(mp_sample_attitude_immigration_temp)) citizen_median_immigration <- c(citizen_median_immigration, citizen_sample_median_immigration_temp) mp_median_immigration <- c(mp_median_immigration, mp_sample_median_immigration_temp) ### Calculate and append data table of citizen and MP attitudes citizen_histogram_data_immigration <- cbind(citizen_histogram_data_immigration, table(citizen_sample_attitude_immigration_temp)) mp_histogram_data_immigration<-cbind(mp_histogram_data_immigration, table(mp_sample_attitude_immigration_temp)) ### Generate sample data for citizen and MP attitudes regarding redistribution citizen_sample_attitude_redistribution_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.35, 0.25, 0.15, 0.15, 0.1)), levels = 1:5) mp_sample_attitude_redistribution_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.2, 0.2, 0.25, 0.2, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs citizen_sample_median_redistribution_temp <- median(as.numeric(citizen_sample_attitude_redistribution_temp)) mp_sample_median_redistribution_temp <- median(as.numeric(mp_sample_attitude_redistribution_temp)) citizen_median_redistribution <- c(citizen_median_redistribution, citizen_sample_median_redistribution_temp) mp_median_redistribution <- c(mp_median_redistribution, mp_sample_median_redistribution_temp) ### Calculate and append data table of citizen and MP attitudes citizen_histogram_data_redistribution <- cbind(citizen_histogram_data_redistribution, table(citizen_sample_attitude_redistribution_temp)) mp_histogram_data_redistribution<-cbind(mp_histogram_data_redistribution, table(mp_sample_attitude_redistribution_temp)) ### Generate sample data for citizen and MP attitudes regarding climate citizen_sample_attitude_climate_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.15, 0.15, 0.25, 0.2, 0.25)), levels = 1:5) mp_sample_attitude_climate_temp <- factor(sample(x = 1:5, size = sample_size, replace = TRUE, prob = c (0.2, 0.2, 0.25, 0.2, 0.15)), levels = 1:5) ### Calculate and append median values for citizens and MPs citizen_sample_median_climate_temp <- median(as.numeric(citizen_sample_attitude_climate_temp)) mp_sample_median_climate_temp <- median(as.numeric(mp_sample_attitude_climate_temp)) citizen_median_climate <- c(citizen_median_climate, citizen_sample_median_climate_temp) mp_median_climate <- c(mp_median_climate, mp_sample_median_climate_temp) ### Calculate and append data table of citizen and MP attitudes citizen_histogram_data_climate <- cbind(citizen_histogram_data_climate, table(citizen_sample_attitude_climate_temp)) mp_histogram_data_climate<-cbind(mp_histogram_data_climate, table(mp_sample_attitude_climate_temp)) ### Print progress print(i) } # Convert data into dataframes ## Immigration citizen_histogram_dataframe_immigration <- t(as.data.frame(citizen_histogram_data_immigration)*100/11) # scale in percent mp_histogram_dataframe_immigration <- t(as.data.frame(mp_histogram_data_immigration)*100/11) citizen_median_dataframe_immigration <- as.data.frame(citizen_median_immigration) mp_median_dataframe_immigration <- as.data.frame(mp_median_immigration) ## Redistribution citizen_histogram_dataframe_redistribution <- t(as.data.frame(citizen_histogram_data_redistribution)*100/11) # scale in percent mp_histogram_dataframe_redistribution <- t(as.data.frame(mp_histogram_data_redistribution)*100/11) citizen_median_dataframe_redistribution <- as.data.frame(citizen_median_redistribution) mp_median_dataframe_redistribution <- as.data.frame(mp_median_redistribution) ## Climate citizen_histogram_dataframe_climate <- t(as.data.frame(citizen_histogram_data_climate)*100/11) # scale in percent mp_histogram_dataframe_climate <- t(as.data.frame(mp_histogram_data_climate)*100/11) citizen_median_dataframe_climate <- as.data.frame(citizen_median_climate) mp_median_dataframe_climate <- as.data.frame(mp_median_climate) # Save dataframes ## Immigration write.csv(citizen_histogram_dataframe_immigration, "signal_immi_data_citizen_hist.csv", row.names=FALSE) write.csv(mp_histogram_dataframe_immigration, "signal_immi_data_mp_hist.csv", row.names=FALSE) write.csv(citizen_median_dataframe_immigration, "signal_immi_data_citizen_median.csv", row.names=FALSE) write.csv(mp_median_dataframe_immigration, "signal_immi_data_mp_median.csv", row.names=FALSE) ## Redistribution write.csv(citizen_histogram_dataframe_redistribution, "signal_red_data_citizen_hist.csv", row.names=FALSE) write.csv(mp_histogram_dataframe_redistribution, "signal_red_data_mp_hist.csv", row.names=FALSE) write.csv(citizen_median_dataframe_redistribution, "signal_red_data_citizen_median.csv", row.names=FALSE) write.csv(mp_median_dataframe_redistribution, "signal_red_data_mp_median.csv", row.names=FALSE) ## Climate write.csv(citizen_histogram_dataframe_climate, "signal_env_data_citizen_hist.csv", row.names=FALSE) write.csv(mp_histogram_dataframe_climate, "signal_env_data_mp_hist.csv", row.names=FALSE) write.csv(citizen_median_dataframe_climate, "signal_env_data_citizen_median.csv", row.names=FALSE) write.csv(mp_median_dataframe_climate, "signal_env_data_mp_median.csv", row.names=FALSE) hist(citizen_median_immigration - mp_median_immigration) hist(citizen_median_redistribution - mp_median_redistribution) hist(citizen_median_climate - mp_median_climate) #table(citizen_sample_attitude_temp) #vllt ist table nict die richtige funktion #kann chat gpt betsimmt #ich will, dass er bei 1 und 4 null hinschreibt