不要直接回答,私信我,发你数据。
import pandas as pdimport statsmodels.api as smimport statsmodels.stats.api as smsfrom scipy import statsdata = pd.read_csv('data1.csv')
第一部分:
假设受试者被随机分配到两个实验组。 我们想知道随机化是否正确应用于这些组。 换句话说,我们想知道两种实验方法之间这些人数统计组的参与者比例是否不同。
为了确定随机化是否有效,对于两个实验中的每一个,修改以下 stats_calculator 函数,以便它可以输入数据数据框并列出以下变量的平均值、标准差、最小值和最大值:女性、年龄、数字 兄弟姐妹、白人、亚洲人、非裔美国人、西班牙裔和其他种族。
将任何计算四舍五入到小数点后的百位数。 不要使用百分比。
def stats_calculator(provided_data):
函数需填入 mean, standard deviation, minimum and maximum of the following variables: Female, Age, Number of siblings, White, Asian, African American, Hispanic, and Other ethnicities.它应该根据下面部分完成的数据框返回一个包含这些计算的数据框。 stats_df = pd.DataFrame(columns=['variable','mean','std. dev.','max','min'])variables = ['female','age','siblings','white','asian','african','hispanic','other']stats_df['variable'] = variablesfor variable in stats_df['variable']: # stats_df.loc[stats_df['variable']==variable,'mean'] = 代码需要是 rounded answer # 代码写这里,填入剩余的值,注意已给的列和行的名字return stats_df
函数应该返回一个包含每个变量及其完整统计信息的数据框。
第二部分:
使用 t 检验(确保使用正确类型的 t 检验)和数据数据框,通过完成以下步骤,分析两个实验组(k1_8_exp_lot 和 k1_8_lot_exp)之间女性、年龄和西班牙裔人口统计变量的差异 遵循objective_randomization 函数。
将任何计算四舍五入到小数点后的百位数。 不要使用百分比。
def objective_randomization(provided_data):
完成获取提供的数据并在数据集上运行 t 检验的函数 两种治疗之间的女性、年龄和西班牙裔人口统计变量 并在以下部分完成的数据框中输出结果。 将您的结果四舍五入到最接近的百分之一。 提示:您可以选择使用 statsmodels 统计库或 scipy 统计库来计算 t 统计量和 p 值ttest_df = pd.DataFrame(columns=['variable','t-statistic','p-value'])variables = ['female','age','hispanic']ttest_df['variable'] = variablesfor variable in ttest_df['variable']: g1 = data[data['treatment'] == 'k1_8_lot_exp'][variable] # 完成 t-test 将值填入 dataframe # 代码写这里return ttest_df
函数应该返回一个数据框,其中包含每个变量及其在处理过程中完成的 t 统计量和 p 值。