【发布时间】:2021-05-30 23:15:11
【问题描述】:
我正在尝试在数据框中编写条件和。我尝试将“sum”函数与“which”函数一起使用,但无法使其工作。这是一个玩具示例:
名为“距离”的矩阵包括从给定点 N 到其他 3 个点的距离,用于 2 次观察。
对于第一个观察,N1 是 N 的最近邻,第二个最近邻是 N2,第三个是 N3。
每个点都属于一个类(A 或 B),在每次观察时都会发生变化,并且此信息记录在名为“类”的矩阵中
dist1 <- c(0.2,0.3,0.9)
dist2 <- c(0.1,0.6,0.9)
distance <- rbind(dist1,dist2)
colnames(distance) <- c("N1.dist","N2.dist","N3.dist")
rownames (distance) <- c("obs1","obs2")
classes.observation1 <- c("A","B","A")
classes.observation2 <- c("B","B","A")
classes <- rbind(classes.observation1,classes.observation2)
colnames(classes) <- c("N1.class","N2.class","N3.class")
rownames (classes) <- c("obs1","obs2")
total <- cbind(distance,classes)
df <- data.frame(total)
问题是:对于观测 j,N(j) 与其所有属于 A 类的第 i 个最近邻之间的距离之和是多少?
在玩具示例中,对于第一次观察,问题可以通过以下方式说明/分解:
(A) N 与其属于 A 类的最近邻之间的距离是多少
(B) N 与其属于 A 类的第二近邻之间的距离是多少
(C) N 与其属于 A 类的第三近邻之间的距离是多少
(D)是A,N到第一个邻居的距离之和
(E)是(A)+(B),N和它的第一个邻居之间的距离之和,N和它的第二个最近邻居之间的距离...
碰巧,有人有建议吗?谢谢
【问题讨论】:
标签: r nearest-neighbor