我有两个数据框,如下所示:
df1 <- data.frame(time=seq(0.0, by = 0.003, length.out = 1000))
time
1 0.000
2 0.003
3 0.006
4 0.009
5 0.012
6 0.015
...
df2 <- data.frame(onset=c(0.0, 0.8, 1.9, 2.4), offset=c(0.799, 1.899, 2.399, 3.0))
onset offset A B
1 0.0 0.799 ... ...
2 0.8 1.899 ... ...
3 1.9 2.399 ... ...
4 2.4 3.000 ... ...
Run Code Online (Sandbox Code Playgroud)
实际上,每个数据帧中有更多列,并且在第一个数据帧中有更多次,并且它们没有规则间隔; 第二个数据框中没有太多行.我想合并两个数据帧,使得第一个数据帧中的每一行从第二个数据帧获得适当范围的额外列,我想有效地执行它,因为涉及数十万行.
我是R编程的初学者.我现在正试图从包含X和Y坐标和站点名称的数据框中检索一些站点名称,并将它们复制到具有特定点的不同数据帧中.
FD <- matrix(data =c(rep(1, 500), rep(0, 500),
rnorm(1000, mean = 550000, sd=4000),
rnorm(1000, mean = 6350000, sd=20000), rep(NA, 1000)),
ncol = 4, nrow = 1000, byrow = FALSE)
colnames(FD) <- c('Survival', 'X', 'Y', 'Site')
FD <- as.data.frame(FD)
shpxt <- matrix(c(526654.7,526810.5 ,6309098,6309187,530405.4,530692,
6337699, 6338056,580432.7, 580541.9, 6380246,6380391,
585761.3, 585847.6, 6379665, 6379759, 584192.1, 584279.4,
6382358, 6382710, 583421.2, 583492.4, 6379356, 6379425,
532395.5, 532515.3 , 6336421, 6336587, 534694.6, 534791.2,
6335620, 6335740, 536749.8, 536957.5, 6337584, 6338130, 590049.6,
590419.4, 6372232, 6372432, 580443, 580756.5, 6386342, 6386473,
575263.9, …Run Code Online (Sandbox Code Playgroud)