|
@@ -0,0 +1,259 @@
|
|
|
+import pandas as pd
|
|
|
+import pyreadstat
|
|
|
+import numpy as np
|
|
|
+from savReaderWriter import SavReader
|
|
|
+
|
|
|
+def sav2csv(sav_file_path, csv_file_path):
|
|
|
+ #读取sav数据
|
|
|
+ with SavReader(sav_file_path) as reader:
|
|
|
+ header = reader.header
|
|
|
+ data = reader.all()
|
|
|
+ #转化为Dataframe
|
|
|
+ df = pd.DataFrame(data, columns=header)
|
|
|
+ # 将列名从字节串转换为字符串
|
|
|
+ df.columns = [col.decode('utf-8') if isinstance(col, bytes) else col for col in df.columns]
|
|
|
+ # 另存为csv数据
|
|
|
+ df.to_csv(csv_file_path, index=False)
|
|
|
+
|
|
|
+#进行adl转换
|
|
|
+def trans_adl(columns_adl, data, result, adl_name):
|
|
|
+ # 定义转换规则
|
|
|
+ transformation = {1: 0, 2: 1, 3: 2}
|
|
|
+ for column in columns_adl:
|
|
|
+ data[column] = data[column].map(transformation).fillna(np.nan) # 将其他转换为缺失值
|
|
|
+ # 计算转换后列的总和并创建一个新列
|
|
|
+ data[adl_name] = data[columns_adl].sum(axis=1)
|
|
|
+ result[adl_name] = data[adl_name].apply(lambda x : 0 if x==0 else (1 if x>0 and x<=12 else np.nan))
|
|
|
+
|
|
|
+#进行mmse转换
|
|
|
+def trans_mmse(columns_mmse, data):
|
|
|
+ # 定义转换规则
|
|
|
+ transformation = {0: 0, 1: 1}
|
|
|
+ for column in columns_mmse:
|
|
|
+ data[column] = data[column].map(transformation).fillna(np.nan) # 将其他转换为缺失值
|
|
|
+
|
|
|
+#进行mmsec16转换
|
|
|
+def trans_mmse_c16(columns_mmse, data):
|
|
|
+ # 定义转换规则
|
|
|
+ for column in columns_mmse:
|
|
|
+ data[column] = data[column].apply(lambda x : np.nan if x==88 or x==99 or x==-9 or x==-8 or x==-7 or x==-6 else 1) # 将其他转换为缺失值
|
|
|
+
|
|
|
+def get_mmse(columns_cognitive_98,columns_reaction_98,columns_attention_98, columns_memory_98 ,columns_language_98, data, result, cognitive_name):
|
|
|
+ # 计算一般能力
|
|
|
+ result["general_cognitive_"+cognitive_name] = data[columns_cognitive_98].sum(axis=1) *2
|
|
|
+ # 计算反应能力
|
|
|
+ result["reaction_"+cognitive_name] = data[columns_reaction_98].sum(axis=1)
|
|
|
+ # 计算注意力与计算力
|
|
|
+ result["attention_calculation_"+cognitive_name] = data[columns_attention_98].sum(axis=1)
|
|
|
+ # 计算回忆力
|
|
|
+ result["memory_"+cognitive_name] = data[columns_memory_98].sum(axis=1)
|
|
|
+ # 计算语言能力和自我协调
|
|
|
+ result["language_selfcoordination_"+cognitive_name] = data[columns_language_98].sum(axis=1)
|
|
|
+ # 计算总合
|
|
|
+ result['mmse_'+cognitive_name] = result["general_cognitive_"+cognitive_name] + result["reaction_"+cognitive_name]+ result["attention_calculation_"+cognitive_name]+ result["memory_"+cognitive_name]+ result["language_selfcoordination_"+cognitive_name]
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ sav_file_path = "CLHLS/clhls_1998_2018_longitudinal_dataset_released_version1.sav"
|
|
|
+ csv_file_path = "CLHLS/clhls_1998_2018_longitudinal_dataset_released_version1.csv"
|
|
|
+ # 将sav数据转为csv
|
|
|
+ # sav2csv(sav_file_path, csv_file_path)
|
|
|
+ #处理数据
|
|
|
+ data = pd.read_csv(csv_file_path)
|
|
|
+ # 存活状态0存活;1死亡;-9失访;-8死亡/失访
|
|
|
+ result = data[['id', 'dth98_00','dth00_02', 'dth02_05', 'dth02_05', 'dth05_08', 'dth08_11', 'dth11_14', 'dth14_18']]
|
|
|
+ # 人口特征学变量
|
|
|
+ # 8/9代表无法回答和缺失
|
|
|
+ # 年龄
|
|
|
+ result[['trueage_98','trueage_00','trueage_02','trueage_05','trueage_08','trueage_11', 'trueage_14', 'trueage_18']] = data[['trueage','vage_0','vage_2', 'vage_5', 'vage_8','vage_11', 'trueage_14', 'trueage_18']]
|
|
|
+ # 性别 1男;0女
|
|
|
+ result['sex'] = data['a1'].apply(lambda x : 1 if x==1 else 0)
|
|
|
+ # 民族 1汉族;0非汉族
|
|
|
+ result['ethnic'] = data['a2'].apply(lambda x : 1 if x==1 else 0)
|
|
|
+ # 出生地 1城市;0农村
|
|
|
+ result['birth_place'] = data['a42'].apply(lambda x : 1 if x == 1 else (0 if x == 2 else np.nan))
|
|
|
+ # 教育状况 无11年
|
|
|
+ result['edu_98'] = data['f1'].apply(lambda x : np.nan if x==88 or x==99 else x)
|
|
|
+ result['edu_08'] = data['f1_8'].apply(lambda x : np.nan if x==88 or x==99 else x)
|
|
|
+ result['edu_14'] = data['f1_14'].apply(lambda x : np.nan if x==88 or x==99 else x)
|
|
|
+ result['edu_18'] = data['f1_18'].apply(lambda x : np.nan if x==88 or x==99 else x)
|
|
|
+ # 婚姻状况 0separated/divorced/widowed/never married; 1currently married and living with spouse
|
|
|
+ result['marital_98'] = data['f41'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 else 1))
|
|
|
+ result['marital_00'] = data['f41_0'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-6 else 1))
|
|
|
+ result['marital_02'] = data['f41_2'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-6 or x==-8 else 1))
|
|
|
+ result['marital_05'] = data['f41_5'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-6 or x==-8 else 1))
|
|
|
+ result['marital_08'] = data['f41_8'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-6 or x==-8 or x==-7 else 1))
|
|
|
+ result['marital_08'] = data['f41_8'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-8 or x==-7 else 1))
|
|
|
+ result['marital_11'] = data['f41_11'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 or x==-9 or x==-8 or x==-7 else 1))
|
|
|
+ result['marital_14'] = data['f41_14'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 else 1))
|
|
|
+ result['marital_18'] = data['f41_18'].apply(lambda x : 0 if x==2 or x==3 or x==4 or x==5 else (np.nan if x==9 else 1))
|
|
|
+ # 生活是否富裕 1富裕及以上;0一般及以下
|
|
|
+ result['econ_state_00'] = data['f34_0'].apply(lambda x : 0 if x==2 or x==3 else (1 if x==1 else np.nan))
|
|
|
+ result['econ_state_02'] = data['f34_2'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ result['econ_state_05'] = data['f34_5'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ result['econ_state_08'] = data['f34_8'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ result['econ_state_11'] = data['f34_11'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ result['econ_state_14'] = data['f34_14'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ result['econ_state_18'] = data['f34_18'].apply(lambda x : 0 if x==4 or x==3 or x==5 else (1 if x==1 or x==2 else np.nan))
|
|
|
+ # 上一年家庭收入 99998超过10万
|
|
|
+ result['income_02'] = data['f35_2'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ result['income_05'] = data['f35_5'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ result['income_08'] = data['f35_8'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ result['income_11'] = data['f35_11'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ result['income_14'] = data['f35_14'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ result['income_18'] = data['f35_18'].apply(lambda x : x if x== 99998 else np.nan)
|
|
|
+ # 居住状态 1与家庭成员同住;2独居;3在机构居住
|
|
|
+ result['co_residence_98'] = data['a51'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['co_residence_00'] = data['a51_0'].apply(lambda x : np.nan if x==9 or x==-9 or x == -6 else x)
|
|
|
+ result['co_residence_02'] = data['a51_2'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['co_residence_05'] = data['a51_5'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['co_residence_08'] = data['a51_8'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['co_residence_11'] = data['a51_11'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['co_residence_14'] = data['a51_14'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['co_residence_18'] = data['a51_18'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ # 目前是否吸烟 1是;2否
|
|
|
+ result['smoke_98'] = data['d71'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['smoke_00'] = data['d71_0'].apply(lambda x : np.nan if x==9 or x==-9 or x == -6 else x)
|
|
|
+ result['smoke_02'] = data['d71_2'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['smoke_05'] = data['d71_5'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['smoke_08'] = data['d71_8'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['smoke_11'] = data['d71_11'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['smoke_14'] = data['d71_14'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['smoke_18'] = data['d71_18'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ # 目前是否饮酒 1是;2否
|
|
|
+ result['drink_98'] = data['d81'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['drink_00'] = data['d81_0'].apply(lambda x : np.nan if x==9 or x==-9 or x == -6 else x)
|
|
|
+ result['drink_02'] = data['d81_2'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['drink_05'] = data['d81_5'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['drink_08'] = data['d81_8'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['drink_11'] = data['d81_11'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 else x)
|
|
|
+ result['drink_14'] = data['d81_14'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['drink_18'] = data['d81_18'].apply(lambda x : np.nan if x==9 or x == 8 else x)
|
|
|
+ # 目前是否锻炼
|
|
|
+ result['exercise_98'] = data['d91'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['exercise_00'] = data['d91_0'].apply(lambda x : np.nan if x==9 or x==-9 or x == -6 else x)
|
|
|
+ result['exercise_02'] = data['d91_2'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['exercise_05'] = data['d91_5'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 else x)
|
|
|
+ result['exercise_08'] = data['d91_8'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 or x == 8 else x)
|
|
|
+ result['exercise_11'] = data['d91_11'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 or x == 8 else x)
|
|
|
+ result['exercise_14'] = data['d91_14'].apply(lambda x : np.nan if x==9 else x)
|
|
|
+ result['exercise_18'] = data['d91_18'].apply(lambda x : np.nan if x==9 or x == 8 else x)
|
|
|
+ # 健康状况变量 1very good; 2good; 3so so; 4bad; 5very bad;
|
|
|
+ result['self_reported_helth_98'] = data['b12'].apply(lambda x : np.nan if x==9 or x==8 else x)
|
|
|
+ result['self_reported_helth_00'] = data['b12_0'].apply(lambda x : np.nan if x==8 or x==-9 or x == -6 else x)
|
|
|
+ result['self_reported_helth_02'] = data['b12_2'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 or x == 8 else x)
|
|
|
+ result['self_reported_helth_05'] = data['b12_5'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -6 or x == 8 else x)
|
|
|
+ result['self_reported_helth_08'] = data['b12_8'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 or x == 8 else x)
|
|
|
+ result['self_reported_helth_11'] = data['b12_11'].apply(lambda x : np.nan if x==9 or x==-9 or x == -8 or x == -7 or x == 8 else x)
|
|
|
+ result['self_reported_helth_14'] = data['b12_14'].apply(lambda x : np.nan if x==9 or x == 8 else x)
|
|
|
+ result['self_reported_helth_18'] = data['b12_18'].apply(lambda x : np.nan if x==9 or x == 8 else x)
|
|
|
+ # 慢性病
|
|
|
+ result['chronic_00'] = data['g14a1_0'].apply(lambda x : np.nan if x==66 or x==89 or x==99 or x==-9 or x == -6 or x == -1 else x)
|
|
|
+ result['chronic_02'] = data['g14a1_2'].apply(lambda x : np.nan if x==-9 or x == -8 or x == -6 or x == -1 else x)
|
|
|
+ result['chronic_05'] = data['g14a1_5'].apply(lambda x : np.nan if x==888 or x==999 or x==-9 or x == -8 or x == -6 or x == -1 else x)
|
|
|
+ result['chronic_08'] = data['g14a1_8'].apply(lambda x : np.nan if x==66 or x==88 or x == 99 or x==-9 or x == -8 or x == -7 or x == -1 else x)
|
|
|
+ result['chronic_11'] = data['g14a1_11'].apply(lambda x : np.nan if x==66 or x==88 or x==99 or x==-9 or x == -8 or x == -7 or x==-1 else x)
|
|
|
+ result['chronic_14'] = data['g14a1_14'].apply(lambda x : np.nan if x==66 or x==99 or x==88 or x == -1 else x)
|
|
|
+ result['chronic_18'] = data['g14a1_18'].apply(lambda x : np.nan if x==66 or x==99 or x==88 or x == -1 else x)
|
|
|
+
|
|
|
+ # 抑郁量表得分-only 18年 0无抑郁症;1有抑郁症
|
|
|
+ # 简版流调中心抑郁量表(CESD-10)10个CESD项目,每个项目的分值范围为0到3分,将每个CESD项目的分值相加,得到总得分
|
|
|
+ # 定义转换规则
|
|
|
+ transformation_one = {1: 3, 2: 2, 3: 2, 4: 1, 5: 0}
|
|
|
+ # 应用转换规则
|
|
|
+ columns_cesd_one = ['b31_18', 'b32_18', 'b33_18', 'b34_18', 'b36_18', 'b38_18', 'b39_18']
|
|
|
+ for column_one in columns_cesd_one:
|
|
|
+ data[column_one] = data[column_one].map(transformation_one).fillna(np.nan) # 将8转换为缺失值
|
|
|
+ # 定义转换规则
|
|
|
+ transformation_two = {1: 0, 2: 1, 3: 1, 4: 2, 5: 3}
|
|
|
+ # 应用转换规则
|
|
|
+ columns_cesd_two = ['b35_18', 'b37_18', 'b310a_18']
|
|
|
+ for column_two in columns_cesd_two:
|
|
|
+ data[column_two] = data[column_two].map(transformation_two).fillna(np.nan) # 将8转换为缺失值
|
|
|
+ result['cesd'] = data['b31_18'] + data['b32_18'] + data['b33_18'] + data['b34_18'] + data['b36_18'] + data['b38_18'] + data['b39_18'] + data['b35_18'] + data['b37_18'] + data['b310a_18']
|
|
|
+ result['cesd_d'] = result['cesd'].apply(lambda x : 0 if x >= 0 and x <= 15 else (1 if x >=16 and x <= 30 else np.nan))
|
|
|
+
|
|
|
+ # 日常生活活动能力 0无残疾;1有残疾
|
|
|
+ # ADL6个项目bathing, dressing, eating, indoor transferring, toileting, and continence, 每个项目的分值范围是0到2分, 将每个ADL项目的得分相加,得到总得分
|
|
|
+ columns_adl_00 = ['e1_0', 'e2_0', 'e3_0', 'e4_0', 'e5_0', 'e6_0']
|
|
|
+ trans_adl(columns_adl_00, data, result, "adl_00")
|
|
|
+ columns_adl_02 = ['e1_2', 'e2_2', 'e3_2', 'e4_2', 'e5_2', 'e6_2']
|
|
|
+ trans_adl(columns_adl_02, data, result, "adl_02")
|
|
|
+ columns_adl_05 = ['e1_5', 'e2_5', 'e3_5', 'e4_5', 'e5_5', 'e6_5']
|
|
|
+ trans_adl(columns_adl_05, data, result, "adl_05")
|
|
|
+ columns_adl_08 = ['e1_8', 'e2_8', 'e3_8', 'e4_8', 'e5_8', 'e6_8']
|
|
|
+ trans_adl(columns_adl_08, data, result, "adl_08")
|
|
|
+ columns_adl_11 = ['e1_11', 'e2_11', 'e3_11', 'e4_11', 'e5_11', 'e6_11']
|
|
|
+ trans_adl(columns_adl_11, data, result, "adl_11")
|
|
|
+ columns_adl_14 = ['e1_14', 'e2_14', 'e3_14', 'e4_14', 'e5_14', 'e6_14']
|
|
|
+ trans_adl(columns_adl_14, data, result, "adl_14")
|
|
|
+ columns_adl_18 = ['e1_18', 'e2_18', 'e3_18', 'e4_18', 'e5_18', 'e6_18']
|
|
|
+ trans_adl(columns_adl_18, data, result, "adl_18")
|
|
|
+ # 认知功能 0有认知功能障碍;1认知功能正常
|
|
|
+ # 简易精神状态评价量表(Mini-mental State Examination, MMSE),该量表包括一般能力(12分),反应能力(3分),注意力与计算力(6分),回忆力(3分),语言理解
|
|
|
+ # 与自我协调能力(6分)5个部分24个问题,总分30分,分数越高,表示认知功能水平越高
|
|
|
+ columns_mmse = ["c11", "c12", "c13", "c14", "c15", "c21a", "c21b", "c21c", "c31a", "c31b", "c31c", "c31d", "c31e", "c32", "c41a", "c41b", "c41c", "c51a", "c51b", "c52", "c53a", "c53b", "c53c",
|
|
|
+ "c11_0", "c12_0", "c13_0", "c14_0", "c15_0", "c21a_0", "c21b_0", "c21c_0", "c31a_0", "c31b_0", "c31c_0", "c31d_0", "c31e_0", "c32_0", "c41a_0", "c41b_0", "c41c_0", "c51a_0", "c51b_0", "c52_0", "c53a_0", "c53b_0", "c53c_0",
|
|
|
+ "c11_2", "c12_2", "c13_2", "c14_2", "c15_2", "c21a_2", "c21b_2", "c21c_2", "c31a_2", "c31b_2", "c31c_2", "c31d_2", "c31e_2", "c32_2", "c41a_2", "c41b_2", "c41c_2", "c51a_2", "c51b_2", "c52_2", "c53a_2", "c53b_2", "c53c_2",
|
|
|
+ "c11_5", "c12_5", "c13_5", "c14_5", "c15_5", "c21a_5", "c21b_5", "c21c_5", "c31a_5", "c31b_5", "c31c_5", "c31d_5", "c31e_5", "c32_5", "c41a_5", "c41b_5", "c41c_5", "c51a_5", "c51b_5", "c52_5", "c53a_5", "c53b_5", "c53c_5",
|
|
|
+ "c11_8", "c12_8", "c13_8", "c14_8", "c15_8", "c21a_8", "c21b_8", "c21c_8", "c31a_8", "c31b_8", "c31c_8", "c31d_8", "c31e_8", "c32_8", "c41a_8", "c41b_8", "c41c_8", "c51a_8", "c51b_8", "c52_8", "c53a_8", "c53b_8", "c53c_8",
|
|
|
+ "c11_11", "c12_11", "c13_11", "c14_11", "c15_11", "c21a_11", "c21b_11", "c21c_11", "c31a_11", "c31b_11", "c31c_11", "c31d_11", "c31e_11", "c32_11", "c41a_11", "c41b_11", "c41c_11", "c51a_11", "c51b_11", "c52_11", "c53a_11", "c53b_11", "c53c_11",
|
|
|
+ "c11_14", "c12_14", "c13_14", "c14_14", "c15_14", "c21a_14", "c21b_14", "c21c_14", "c31a_14", "c31b_14", "c31c_14", "c31d_14", "c31e_14", "c32_14", "c41a_14", "c41b_14", "c41c_14", "c51a_14", "c51b_14", "c52_14", "c53a_14", "c53b_14", "c53c_14",
|
|
|
+ "c11_18", "c12_18", "c13_18", "c14_18", "c15_18", "c21a_18", "c21b_18", "c21c_18", "c31a_18", "c31b_18", "c31c_18", "c31d_18", "c31e_18", "c32_18", "c41a_18", "c41b_18", "c41c_18", "c51a_18", "c51b_18", "c52_18", "c53a_18", "c53b_18", "c53c_18"]
|
|
|
+ trans_mmse(columns_mmse, data)
|
|
|
+ columns_mmse_c16 = ["c16", "c16_0", "c16_2", "c16_5", "c16_8", "c16_11", "c16_14", "c16_8"]
|
|
|
+ trans_mmse_c16(columns_mmse, data)
|
|
|
+ columns_cognitive_98 = ["c11", "c12", "c13", "c14", "c15", "c16"]
|
|
|
+ columns_reaction_98 = ["c21a", "c21b", "c21c"]
|
|
|
+ columns_attention_98 = ["c31a", "c31b", "c31c", "c31d", "c31e", "c32"]
|
|
|
+ columns_memory_98 = ["c41a", "c41b", "c41c"]
|
|
|
+ columns_language_98 = ["c51a", "c51b", "c52", "c53a", "c53b", "c53c"]
|
|
|
+ get_mmse(columns_cognitive_98,columns_reaction_98,columns_attention_98, columns_memory_98 ,columns_language_98, data, result, "98")
|
|
|
+ columns_cognitive_00 = ["c11_0", "c12_0", "c13_0", "c14_0", "c15_0", "c16_0"]
|
|
|
+ columns_reaction_00 = ["c21a_0", "c21b_0", "c21c_0"]
|
|
|
+ columns_attention_00 = ["c31a_0", "c31b_0", "c31c_0", "c31d_0", "c31e_0", "c32_0"]
|
|
|
+ columns_memory_00 = ["c41a_0", "c41b_0", "c41c_0"]
|
|
|
+ columns_language_00 = ["c51a_0", "c51b_0", "c52_0", "c53a_0", "c53b_0", "c53c_0"]
|
|
|
+ get_mmse(columns_cognitive_00,columns_reaction_00,columns_attention_00, columns_memory_00 ,columns_language_00, data, result, "00")
|
|
|
+ columns_cognitive_02 = ["c11_2", "c12_2", "c13_2", "c14_2", "c15_2", "c16_2"]
|
|
|
+ columns_reaction_02 = ["c21a_2", "c21b_2", "c21c_2"]
|
|
|
+ columns_attention_02 = ["c31a_2", "c31b_2", "c31c_2", "c31d_2", "c31e_2", "c32_2"]
|
|
|
+ columns_memory_02 = ["c41a_2", "c41b_2", "c41c_2"]
|
|
|
+ columns_language_02 = ["c51a_2", "c51b_2", "c52_2", "c53a_2", "c53b_2", "c53c_2"]
|
|
|
+ get_mmse(columns_cognitive_02,columns_reaction_02,columns_attention_02, columns_memory_02 ,columns_language_02, data, result, "02")
|
|
|
+ columns_cognitive_05 = ["c11_5", "c12_5", "c13_5", "c14_5", "c15_5", "c16_5"]
|
|
|
+ columns_reaction_05 = ["c21a_5", "c21b_5", "c21c_5"]
|
|
|
+ columns_attention_05 = ["c31a_5", "c31b_5", "c31c_5", "c31d_5", "c31e_5", "c32_5"]
|
|
|
+ columns_memory_05 = ["c41a_5", "c41b_5", "c41c_5"]
|
|
|
+ columns_language_05 = ["c51a_5", "c51b_5", "c52_5", "c53a_5", "c53b_5", "c53c_5"]
|
|
|
+ get_mmse(columns_cognitive_05,columns_reaction_05,columns_attention_05, columns_memory_05 ,columns_language_05, data, result, "05")
|
|
|
+ columns_cognitive_08 = ["c11_8", "c12_8", "c13_8", "c14_8", "c15_8", "c16_8"]
|
|
|
+ columns_reaction_08 = ["c21a_8", "c21b_8", "c21c_8"]
|
|
|
+ columns_attention_08 = ["c31a_8", "c31b_8", "c31c_8", "c31d_8", "c31e_8", "c32_8"]
|
|
|
+ columns_memory_08 = ["c41a_8", "c41b_8", "c41c_8"]
|
|
|
+ columns_language_08 = ["c51a_8", "c51b_8", "c52_8", "c53a_8", "c53b_8", "c53c_8"]
|
|
|
+ get_mmse(columns_cognitive_08,columns_reaction_08,columns_attention_08, columns_memory_08 ,columns_language_08, data, result, "08")
|
|
|
+ columns_cognitive_11 = ["c11_11", "c12_11", "c13_11", "c14_11", "c15_11", "c16_11"]
|
|
|
+ columns_reaction_11 = ["c21a_11", "c21b_11", "c21c_11"]
|
|
|
+ columns_attention_11 = ["c31a_11", "c31b_11", "c31c_11", "c31d_11", "c31e_11", "c32_11"]
|
|
|
+ columns_memory_11 = ["c41a_11", "c41b_11", "c41c_11"]
|
|
|
+ columns_language_11 = ["c51a_11", "c51b_11", "c52_11", "c53a_11", "c53b_11", "c53c_11"]
|
|
|
+ get_mmse(columns_cognitive_11,columns_reaction_11,columns_attention_11, columns_memory_11 ,columns_language_11, data, result, "11")
|
|
|
+ columns_cognitive_14 = ["c11_14", "c12_14", "c13_14", "c14_14", "c15_14", "c16_14"]
|
|
|
+ columns_reaction_14 = ["c21a_14", "c21b_14", "c21c_14"]
|
|
|
+ columns_attention_14 = ["c31a_14", "c31b_14", "c31c_14", "c31d_14", "c31e_14", "c32_14"]
|
|
|
+ columns_memory_14 = ["c41a_14", "c41b_14", "c41c_14"]
|
|
|
+ columns_language_14 = ["c51a_14", "c51b_14", "c52_14", "c53a_14", "c53b_14", "c53c_14"]
|
|
|
+ get_mmse(columns_cognitive_14,columns_reaction_14,columns_attention_14, columns_memory_14 ,columns_language_14, data, result, "14")
|
|
|
+ columns_cognitive_18 = ["c11_18", "c12_18", "c13_18", "c14_18", "c15_18", "c16_18"]
|
|
|
+ columns_reaction_18 = ["c21a_18", "c21b_18", "c21c_18"]
|
|
|
+ columns_attention_18 = ["c31a_18", "c31b_18", "c31c_18", "c31d_18", "c31e_18", "c32_18"]
|
|
|
+ columns_memory_18 = ["c41a_18", "c41b_18", "c41c_18"]
|
|
|
+ columns_language_18 = ["c51a_18", "c51b_18", "c52_18", "c53a_18", "c53b_18", "c53c_18"]
|
|
|
+ get_mmse(columns_cognitive_18,columns_reaction_18,columns_attention_18, columns_memory_18 ,columns_language_18, data, result, "18")
|
|
|
+ print(result.head())
|
|
|
+ result.to_csv("CLHLS/clhls_1998_2018_result.csv", index=False)
|
|
|
+ print(123)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|