我想在数据帧的变量中执行线性插值,其中考虑到:1)两点之间的时间差,2)获取数据的时刻以及 3)为测量变量而采取的个人。
例如在下一个数据框中:
df <- data.frame(time=c(1,2,3,4,5,6,7,1,2,3),
Individuals=c(1,1,1,1,1,1,1,2,2,2),
Value=c(1, 2, 3, NA, 5, NA, 7, 5, NA, 7))
df
Run Code Online (Sandbox Code Playgroud)
我想获得:
result <- data.frame(time=c(1,2,3,4,5,6,7,1,2,3),
Individuals=c(1,1,1,1,1,1,1,2,2,2),
Value=c(1, 2, 3, 4, 5, 6, 7, 5, 5.5, 6))
result
Run Code Online (Sandbox Code Playgroud)
我不能完全使用na.approx包的功能,zoo因为所有观察都不是连续的,一些观察属于一个人,其他观察属于其他人。原因是因为如果第二个人将第一次观察到NA而我将专门使用该功能na.approx,我将使用来自 的信息individual==1来插入NA的individual==2(例如,下一个数据帧将有此类错误)
df_2 <- data.frame(time=c(1,2,3,4,5,6,7,1,2,3),
Individuals=c(1,1,1,1,1,1,1,2,2,2),
Value=c(1, 2, 3, NA, 5, NA, 7, NA, 5, 7))
df_2
Run Code Online (Sandbox Code Playgroud)
我试过使用这些包zoo和dplyr:
library(dplyr)
library(zoo)
proof <- df %>%
group_by(Individuals) %>%
na.approx(df$Value)
Run Code Online (Sandbox Code Playgroud)
但我不能 …
我想提取树状图或群集的节点的层次结构。
例如,在下一个示例中:
library(dendextend)
dend15 <- c(1:5) %>% dist %>% hclust(method = "average") %>% as.dendrogram
dend15 %>% plot
Run Code Online (Sandbox Code Playgroud)
根据节点在树状图中的位置对其进行分类(请参见下图)
(图摘自dendextend包的教程)
我想获取每个最终叶子的所有节点作为下一个输出:(标签从左到右,从下到上排序)
hierarchical structure
leaf_1: 3-2-1
leaf_2: 4-2-1
leaf_3: 6-5-1
leaf_4: 8-7-5-1
leaf_5: 9-7-5-1
Run Code Online (Sandbox Code Playgroud)
提前致谢,
我想知道如何提取遵循标准的最后一行.我已经看到了通过下一个链接中的"复制"功能获取第一个的解决方案如何选择满足特定条件的R数据帧中的第一行?.
但是,是否可以获得符合标准的第二行或最后一行?
我想为每个循环Class(这里我只放两个)并选择符合标准的第一行,第二行和最后一行Weight >= 10.如果没有符合获得NA标准的行.
最后,我想将三个值(第一行,第二行和最后一行)存储在包含每个类的值的列表中.
Class Weight
1 A 20
2 A 15
3 B 10
4 B 23
5 A 11
6 B 12
7 B 11
8 A 25
9 A 7
10 B 3
Run Code Online (Sandbox Code Playgroud) 我想将数据帧的列转换为格里高利日期.例如,以下数据帧:
Date_R Tmax
1 1985-01-01 9.0
2 1985-02-02 9.0
3 1985-12-31 11.0
4 1986-01-04 8.5
5 1986-01-05 11.0
Run Code Online (Sandbox Code Playgroud)
成:
Date_R Tmax
1 1 9.0
2 33 9.0
3 365 11.0
4 4 8.5
5 5 11.0
Run Code Online (Sandbox Code Playgroud)
或者添加包含此信息的新列.
提前致谢