当前位置: 首页 > 知识库问答 >
问题:

计算几个向量的中值

公西星海
2023-03-14

我需要计算ROE1,ROE2ROE3的中位数。但是,要计算每个中位数,我必须包括具有相同基准面和相同Ind类别的所有行。例如,要计算第二行的中位数,我必须包括行 2 和 3,因为我在第 2 行和第 3 行中具有相同的基准面和 Ind。我正在尝试使用循环函数applige,但我不知道如何包含此条件。

这就像一个条件中位数。

非常感谢您的关注。

这里,就是例子:

Datum   Ind ROE1    ROE2    ROE3
 95     45  NA      6       13
 95     45  18      25      28
 95     50  10      15      20

共有2个答案

顾乐心
2023-03-14

另一个选项,使用基本R,你可以做:

med_by <- aggregate(df, by=list(df$Datum, df$Ind), median, na.rm=T)[, -(1:2)]  
data.frame(med_by[, 1:2], Median=apply(med_by[, grepl("ROE", colnames(med_by))], 1, median))

#   Datum Ind Median
# 1    95  45     18
# 2    95  50     15
郑俊彦
2023-03-14

这里有一个可能的数据。表解决方案

library(data.table)
setDT(df)[, list(Median = median(unlist(.SD), na.rm = TRUE)), by = list(Datum, Ind)]
#    Datum Ind Median
# 1:    95  45     18
# 2:    95  50     15

另一种选择是首先使用< code>melt整理数据

melt(setDT(df), id.vars = c("Datum", "Ind"))[, 
                  list(Median = median(value, na.rm = TRUE)), 
                  by = list(Datum, Ind)]

#    Datum Ind Median
# 1:    95  45     18
# 2:    95  50     15

或者,如果你是哈雷慧星的粉丝,也可以

library(tidyr)
library(dplyr)
df %>%
  gather(Variable, value, -(Datum:Ind))%>%
  group_by(Datum, Ind) %>%
  summarise(Median = median(value, na.rm = TRUE))

# Source: local data frame [2 x 3]
# Groups: Datum
# 
#   Datum Ind Median
# 1    95  45     18
# 2    95  50     15
 类似资料:
  • 问题内容: 我正在尝试计算python中两条线之间的角度。我搜索了互联网,找到了如何做的方程式。但是我并不总是能得到准确的结果。当其他结果似乎正确时,其中一些结果显然是错误的。我的代码如下: 它产生的结果是: 问题是我不明白为什么第二个结果,第五个和最后一个结果被归零,因为它们共享一个点,而另一个点却不重复,因为数组中的值不同。 问题答案: 看起来您正在使用Python2,如果两个参数均为int

  • 设一个向量,长度为,随机包含0或1。 获取向量的有效方法是什么,该向量指示每个0段或1段中交替有多少个0或1? 例子: 请注意,始终先计算0,如果向量以1开头,则结果向量的第一个条目,即计数(1),应为0。

  • 问题内容: 如何找到向量之间的余弦相似度? 我需要找到相似性来衡量两行文本之间的相关性。 例如,我有两个句子: 用户界面系统 用户界面机 …及其在tF-idf之后的向量,然后使用LSI进行标准化,例如 和。 如何测量这些向量之间的相似性? 问题答案: 我最近在大学的信息检索部门做了一些tf-idf的工作。我使用了这种余弦相似度方法,该方法使用Jama:Java Matrix Package 。 有

  • 问题内容: 我正在尝试使用Haversine公式来计算由纬度和经度标识的一长串位置的距离矩阵,该公式采用两个坐标对的元组来产生距离: 我可以使用嵌套的for循环计算所有点之间的距离,如下所示: 使用一个简单的函数: 但是考虑到时间的复杂性,这需要花费相当长的时间,大约需要20秒才能获得500点,而且我的清单要长得多。这让我着眼于矢量化,并且遇到了((docs)),但无法弄清楚如何在这种情况下应用它

  • 我需要计算一个向量。不仅仅是其中的一部分,而是全部。例如std::cout

  • 声明 阅读本文前,需要您懂一些高等数学、概率论、线性代数的相关知识,以便更好理解。 下面这些关于 SVM 的理解,是根据知乎和其他博客或者网站中查询到的资料加以整理, 并结合 ApacheCN 这段时间的撸代码和相关研究得到,有理解有误的地方还望大家指出,谢谢。 再次感谢网上的大佬们的无私贡献。 ApacheCN: http://www.apachecn.org/ ApacheCN Machi