小编Joe*_*ger的帖子

计算两个数据帧之间的相关性是否需要循环?

我有一组看起来像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)

r correlation dataframe

11
推荐指数
3
解决办法
2697
查看次数

获取数据框中的最小行数

我正在使用一个包含65个变量的数据帧.第一个变量为一个人编目,接下来的64个变量表示该人与64个位置中的每一个的地理距离.使用R,我想创建一个新变量,将每个人的最短距离编目到这64个位置之一.

例如:如果人X距离位置35,50,79,100,450 ......英里,我希望新变量自动为它们分配35,因为这是最短的距离.任何有关这方面的帮助将非常感激.谢谢.

r min dataframe

8
推荐指数
2
解决办法
2万
查看次数

将开始和结束坐标转换为R中的空间线

我有一组开始和结束坐标,如下所示:

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对象,以便我可以oversp包中使用它.

r spatial

8
推荐指数
2
解决办法
4402
查看次数

R中每天观察的数量

我正在使用如下所示的数据框:

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)

我已经尝试了一些聚合函数的东西,但无法弄清楚如何包含没有观察的日期(零).

r

6
推荐指数
1
解决办法
1406
查看次数

根据另一个数据框替换数据帧中的值

我有以下两个数据帧:

>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)

不幸的是,我正在使用大量数据集,因此希望一次匹配所有列.任何帮助将非常感激.

r

5
推荐指数
1
解决办法
5170
查看次数

ifelse在R中的行相同

我有一个如下所示的数据框:

> 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)

提前感谢您的建议.

if-statement r

2
推荐指数
1
解决办法
3451
查看次数

标签 统计

r ×6

dataframe ×2

correlation ×1

if-statement ×1

min ×1

spatial ×1