我有一组看起来像A和B的大型数据帧:
A <- data.frame(A1=c(1,2,3,4,5),B1=c(6,7,8,9,10),C1=c(11,12,13,14,15 ))
A1 B1 C1
1 1 6 11
2 2 7 12
3 3 8 13
4 4 9 14
5 5 10 15
B <- data.frame(A2=c(6,7,7,10,11),B2=c(2,1,3,8,11),C2=c(1,5,16,7,8))
A2 B2 C2
1 6 2 1
2 7 1 5
3 7 3 16
4 10 8 7
5 11 11 8
Run Code Online (Sandbox Code Playgroud)
我想创建一个向量(C),表示A1和A2,B1和B2以及C1和C2之间的Pearson相关性.在这种情况下,例如,那些相关性是:
[1] 0.95 0.92 0.46
Run Code Online (Sandbox Code Playgroud) 我正在使用一个包含65个变量的数据帧.第一个变量为一个人编目,接下来的64个变量表示该人与64个位置中的每一个的地理距离.使用R,我想创建一个新变量,将每个人的最短距离编目到这64个位置之一.
例如:如果人X距离位置35,50,79,100,450 ......英里,我希望新变量自动为它们分配35,因为这是最短的距离.任何有关这方面的帮助将非常感激.谢谢.
我有一组开始和结束坐标,如下所示:
begin.coord <- data.frame(lon=c(-85.76,-85.46,-85.89), lat=c(38.34,38.76,38.31))
end.coord <- data.frame(lon=c(-85.72,-85.42,-85.85), lat=c(38.38,38.76,38.32))
Run Code Online (Sandbox Code Playgroud)
我试图通过将每个起点连接到其对应的终点来创建一组3个线段.我希望最终产品成为一个SpatialLines对象,以便我可以over在sp包中使用它.
我正在使用如下所示的数据框:
date<-c("2012-02-01", "2012-02-01", "2012-02-03", "2012-02-04", "2012-02-04", "2012-02-05", "2012-02-09", "2012-02-12", "2012-02-12")
var<-c("a","b","c","d","e","f","g","h","i")
df1<-data.frame(date,var)
Run Code Online (Sandbox Code Playgroud)
我想创建第二个数据框,将每天观察的数量制成表格.在该数据帧中,未提及的日期将为零...导致如下所示:
date<-c("2012-02-01","2012-02-02","2012-02-03","2012-02-04","2012-02-05","2012-02-06","2012-02-07","2012-02-08","2012-02-09","2012-02-10","2012-02-11","2012-02-12")
num<-c(2,0,1,2,1,0,0,0,1,0,0,2)
df2<-data.frame(date,num)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一些聚合函数的东西,但无法弄清楚如何包含没有观察的日期(零).
我有以下两个数据帧:
>df1<-data.frame(A=c(0,0,0),B=c(0,201,0),C=c(0,467,0))
A B C
1 0 0 1
2 0 201 467
3 0 0 0
>df2<-data.frame(A=c(201,467),B=c('abc','def'))
A B
1 201 abc
2 467 def
Run Code Online (Sandbox Code Playgroud)
我想用df2中匹配的"B"值替换df1中的值,创建一个如下所示的数据帧:
A B C
1 NA NA NA
2 NA abc def
3 NA NA NA
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码逐列完成此操作:
>df2$B[match(df1$B,df2$A)]
Run Code Online (Sandbox Code Playgroud)
不幸的是,我正在使用大量数据集,因此希望一次匹配所有列.任何帮助将非常感激.
我有一个如下所示的数据框:
> df<-data.frame(A=c(NA,1,2,3,4),B=c(NA,5,NA,3,4),C=c(NA,NA,NA,NA,4))
> df
A B C
1 NA NA NA
2 1 5 NA
3 2 NA NA
4 3 3 NA
5 4 4 4
Run Code Online (Sandbox Code Playgroud)
我试图基于df中的行值创建"D"列,其中如果行中的值不同(即行2)或所有NA(即行1),则D得到NA,并且如果该行中的值相同,则排除NAs(即行3,4,5).这将生成一个如下所示的向量和数据框:
> df$D<-c(NA,NA,2,3,4)
> df
A B C D
1 NA NA NA NA
2 1 5 NA NA
3 2 NA NA 2
4 3 3 NA 3
5 4 4 4 4
Run Code Online (Sandbox Code Playgroud)
提前感谢您的建议.