我有一个数据帧,其中包含在不同时间点测量的几个变量(例如,< code>test1_tp1,< code>test1_tp2,< code>test1_tp3,< code>test2_tp1,< code>test2_tp2,...).
我现在尝试使用dplyr
将新列添加到数据帧中,该数据帧计算这些列的选择上的行平均值(例如,test1
)的所有时间点上的平均值)。
<代码>数据%
<代码>数据%
不是 dplyr
解决方案,但您可以尝试:
cols_2sum <- grepl('test1',colnames(data))
rowMeans(data[,cols_2sum])
以下是如何在dplyr中执行此操作 - 我使用虹膜数据作为示例:
iris %>% mutate(sum.Sepal = rowSums(.[grep("^Sepal", names(.))]))
这将计算以“Sepal”开头的所有列的行和。您可以以相同的方式使用<code>rowMeans
您可以在<code>选择
data %>%
mutate(test1 = select(., starts_with("test1_")) %>%
rowMeans(na.rm = TRUE))
我有一个结构如下的dataframe(摘要示例,不是实际的) 我希望使用dplyr、group_by(MedID)和mutate在新的数据帧中添加一列(我们在df2中将其称为Flag2),这样在每个病人(MedID)中,对于唯一MedID中的每个后续行,df2$Flag2列==1,但仅在df1$Flag2列==99之后,否则df2$Flag2列得到0。如果MedID的第一行中df1$flag==9
我想使用dplyr::mutate计算一些列的平均值。 我想包含来计算平均值的列只有BL1到BL9,所以我这样做了。 这行不通。我注意到如果我一个接一个的列,它会工作 我怀疑这是因为我给出的是字符串而不是“列”。 有人能解释这种行为吗?对此最好的解决办法是什么?
初始数据流: 产生的数据frame: 我通常通过使用以下内容将新列“追加”到dataframe:
问题内容: 我正在尝试使用选定的初始质心进行k均值聚类。它说在这里 指定您的初始中心: 如果通过,它应该是形状(的,)并给出初始中心。 我在Python中的代码: 返回错误: 并返回相同的初始中心。任何想法如何形成初始中心以便可以被接受吗? 问题答案: 的默认行为是使用不同的随机质心多次初始化算法(即Forgy方法)。然后,随机初始化的数量由参数(docs)控制: n_init :int,默认值:
问题内容: 我有一个现有的数据框,我需要添加一个额外的列,每行将包含相同的值。 现有的df: 新的df: 我知道如何追加现有的series / dataframe列。但这是另一种情况,因为我所需要的只是添加“名称”列,并将每一行设置为相同的值,在本例中为“ abc”。 问题答案: 将添加新列并将所有行设置为该值:
我有100行10列的数据(实际数据非常大)。我还有一个row_索引列表,它包含哪些行被认为是平均值。我想计算第2、5、6、7和8列的平均值。我们可以用dataframe对象的函数来实现吗? 我知道的是做一个for循环,为row_index中的每个元素获取行的值,并保持平均值。我们有一些直接的函数,我们可以传递row_list,column_list和轴,用于ex? 我已经看到了DataFrame。