Ich arbeite mit Daten von 174 Probanden, die in einem Datenrahmen (df_behavioral) gespeichert sind, wobei eine Zeile ein Thema darstellt. Einige Probanden beziehen sich auf einander, wie durch eine Variable namens "family_id" angegeben, die jede STEUBORE einer Familie zuweist. Mit anderen Worten: Die Probanden aus derselben Familie können nicht in derselben Teilstichprobe sein. Ich konnte zwei Teilproben von nicht verwandten Probanden erhalten, benötigte aber noch Hilfe bei der Umsetzung der Schichtung durch Neurotizismus -Scores. < /P>
import numpy as np
import pandas as pd
# Set seed for reproducibility
np.random.seed(42)
# Generate sample dataset
num_subjects = 174
num_families = 87 # 87 unique families
# Create Family_IDs (maximally two subjects per family)
family_ids = np.repeat(np.arange(num_families), 2)[:num_subjects]
np.random.shuffle(family_ids)
# Generate Neuroticism scores (normally distributed, scale 0-40, integers)
neuroticism_scores = np.clip(np.random.normal(loc=20, scale=5, size=num_subjects), 0, 40).astype(int)
# Create random subject names
subject_ids = [f'Subject_{i}' for i in range(num_subjects)]
# Create dataframe
df_behavioral = pd.DataFrame({
'Subject_ID': subject_ids,
'Family_ID': family_ids,
'NEOFAC_N': neuroticism_scores
})
print(df_behavioral.head()) # Preview dataset
siblings_list = []
for family in df_behavioral["Family_ID"].unique():
siblings_list.append(df_behavioral.query("Family_ID==@family").index.values)
print("There are {} unique families in the dataset".format(len(siblings_list)))
subj_set1 = [family[0] for family in siblings_list]
subj_set2 = [family[1] for family in siblings_list if len(family)>1]
# Make sure subjects are sorted
subj_set1.sort()
subj_set2.sort()
print("There are {} unrelated subjects in set 1".format(len(subj_set1)))
print("There are {} unrelated subjects in set 2".format(len(subj_set2)))
# Save subsamples as DataFrames
sample_1 = df_behavioral.loc[subj_set1].reset_index(drop=True)
sample_2 = df_behavioral.loc[subj_set2].reset_index(drop=True)
Ich arbeite mit Daten von 174 Probanden, die in einem Datenrahmen (df_behavioral) gespeichert sind, wobei eine Zeile ein Thema darstellt. Einige Probanden beziehen sich auf einander, wie durch eine Variable namens "family_id" angegeben, die jede STEUBORE einer Familie zuweist. Mit anderen Worten: Die Probanden aus derselben Familie können nicht in derselben Teilstichprobe sein. Ich konnte zwei Teilproben von nicht verwandten Probanden erhalten, benötigte aber noch Hilfe bei der Umsetzung der Schichtung durch Neurotizismus -Scores. < /P> [code]import numpy as np import pandas as pd