【发布时间】:2021-07-03 15:13:14
【问题描述】:
我的数据框有几个单一的数据(“体重”、“温度”)和三个后肢紧握分数(“后肢_1”、“后肢_2”、“后肢_3”);都是在不同年龄(“年龄”)拍摄的。
str(hindlimb_data)
'data.frame': 10 obs. of 12 variables:
$ ID : Factor w/ 25 levels "26623","26625",..: 2 4 3 5 6 12 9 14 10 15
$ Sex : int 2 2 2 2 2 2 2 2 2 1
$ Genotype : Factor w/ 3 levels "NTg","Transgenic_1",..: 3 2 3 2 2 3 2 3 2 3
$ Group : Factor w/ 2 levels "Cross_sect","Longitudinal": 2 2 2 2 1 1 1 1 1 1
$ Age : num 8 8 8 8 8.5 7.5 7.5 7.5 7.5 7.5
$ Weight : num 30.8 31.2 28 27.5 32 33.2 26.7 32.5 27.2 29.2
$ Temperature : num 24.8 25.6 26.5 24.4 24.4 25.9 24.4 24.2 23.9 23.9
$ Hindlimb_1 : num 2 2 3 0 2 2 0 2 2 0
$ Hindlimb_2 : num 2 0 3 0 0 3 0 2 0 0
$ Hindlimb_3 : num 2 0 3 0 0 2 0 2 0 1
我正在尝试为每个主题(“ID”)计算三个 Hindlimb 拍手数据得分(“Hindlimb_x”)的模式。我似乎只能在单独的行中长期输入每个分数时才能计算出这个(但这会重复我数据框中其他变量的值;例如体重、温度)。
关于如何编码的任何想法? 谢谢!
【问题讨论】:
-
能否请您附上您尝试的代码。你尝试过做什么?
-
嗨,我编写了 Mode 函数:
-
模式
-
然后运行这段代码为 Mode 创建一个新变量:
-
hindlimb_data$hindlimb_mode % group_by(ID) %>% summarise(across(starts_with('Hindlimb_'), Mode), .groups = 'drop')