小编the*_*ail的帖子

更改R中向量中元素的顺序

我有一个元素在某一行中的向量,但现在我想改变这些元素的顺序.我怎么能只用一行代码呢?

# 1.create queue

queue <- c("James", "Mary", "Steve", "Alex", "Patricia")
queue

# 2.move Patricia to be in front of Steve

???
Run Code Online (Sandbox Code Playgroud)

我是R的初学者,所以让你的回答尽可能简单,尽可能淡化!谢谢!

r vector

4
推荐指数
2
解决办法
9154
查看次数

函数名称在R中的单引号中

这可能是一个愚蠢的问题,但我已经困扰了很长一段时间.我看到人们在定义函数时使用单引号括起函数名.我一直在想这样做的好处.以下是一个天真的例子

'row.mean' <- function(mat){
    return(apply(mat, 1, mean))
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

r function

4
推荐指数
1
解决办法
727
查看次数

使用汇总数据在R中进行ANOVA

是否有可能只用平均值,标准差和n值在r中运行ANOVA?这是我的数据框:

q2data.mean <- c(90,85,92,100,102,106)
q2data.sd <- c(9.035613,11.479667,9.760268,7.662572,9.830258,9.111457)
q2data.n <- c(9,9,9,9,9,9)
q2data.frame <- data.frame(q2data.mean,q2data.sq,q2data.n)
Run Code Online (Sandbox Code Playgroud)

我试图找到平方余数,所以我想看看ANOVA表.

任何帮助将非常感激!:)

r summary anova lm

4
推荐指数
1
解决办法
4491
查看次数

数字和逻辑变量之间的相关性给出(预期)错误?

示例数据.

require(data.table)
dt <- data.table(rnorm(10), rnorm(10) < 0.5)
Run Code Online (Sandbox Code Playgroud)

数值和逻辑变量之间的计算相关性会产生错误.

cor(dt)
#Error in cor(dt) : 'x' must be numeric
Run Code Online (Sandbox Code Playgroud)

但转换为数据帧时错误消失了.

cor(data.frame(dt))
#           V1         V2
#V1  1.0000000 -0.1631356
#V2 -0.1631356  1.0000000
Run Code Online (Sandbox Code Playgroud)

这是预期的行为data.table吗?

r data.table

4
推荐指数
1
解决办法
519
查看次数

R没有绘制回归线

所以我试图得到一条回归线来显示数据图,但它不起作用.我尝试重新启动R,检查代码,它看起来对我来说完全没问题.abline()命令适用于我今天制作的每一个情节,而不是这个.

这是我使用的命令:

hw3c <- read.csv(file.choose(), header = T)
model.3c <- lm(hw3c)
plot(hw3c)
abline(model.3c)
Run Code Online (Sandbox Code Playgroud)

数据是:

Crab,Sal
0.7,3
1.7,3.2
1.3,6.5
2.2,6.5
0.9,9.4
3.2,23.4
5,27.1
Run Code Online (Sandbox Code Playgroud)

我知道这很简单,我不明白为什么它不起作用.救命?

plot r line linear-regression

4
推荐指数
1
解决办法
127
查看次数

在R中的主标题下添加副标题或在y轴下添加副标题

我想知道如何在主标题和 y 轴下添加副标题。

r

4
推荐指数
1
解决办法
3869
查看次数

R - 连续情况的序列,其中end1 == start2

拿这个数据集......

test <- data.frame(
    t1=c(2,3,5,6,7,10,10),
    t2=c(3,4,6,7,8,11,12),
    id=1:7
)
Run Code Online (Sandbox Code Playgroud)

......看起来像这样.为了澄清,每一行都是先前确定的两个必须保持绑定在一起的案例的链接.

  t1 t2 id
1  2  3  1
2  3  4  2
3  5  6  3
4  6  7  4
5  7  8  5
6 10 11  6
7 10 12  7
Run Code Online (Sandbox Code Playgroud)

我希望递归地识别基于t2 == t1的连续序列,以便链接是:

link1 -  2-3,3-4
link2 -  5-6,6-7,7-8
link3 -  10-11
link4 -  10-12
Run Code Online (Sandbox Code Playgroud)

我正在寻找的最终结果是:

  t1 t2 id matchid
1  2  3  1       1
2  3  4  2       1
3  5  6  3       2
4  6  7  4       2 …
Run Code Online (Sandbox Code Playgroud)

r sequence match dataframe

3
推荐指数
1
解决办法
383
查看次数

在r中绘制栅格图层上的空间点

我希望在将矩阵转换为栅格对象(tempMap)后绘制矩阵(temp_matrix).此外,我希望在同一个绘图窗口中添加几个可以获得纬度和经度位置的点.我尝试过几种方法,但似乎没有一种方法可行,因为可用点是lat/long中的特定位置,而我得到的栅格对象具有不同的范围.请帮我解决这个问题.下面给出了问题的示例数据.

library(raster)
temp_matrix<-array(NA,c(11,11))
temp_matrix[1,]<-c(NA,NA,NA,NA,NA,NA,NA,0,0,-6,-6)
temp_matrix[2,]<-c(0,0,0,0,NA,NA,1,0,0,0,0)
temp_matrix[3,]<-c(1,0,0,-1,-1,0,0,0,1,0,0)
temp_matrix[4,]<-c(1,1,0,0,0,0,-1,-1,0,0,0)
temp_matrix[5,]<-c(1,NA,NA,NA,NA,-1,-1,-1,0,-1,-1)
temp_matrix[6,]<-c(NA,NA,NA,NA,NA,NA,-1,-1,-1,0,0)
temp_matrix[7,]<-c(NA,NA,NA,NA,NA,NA,NA,0,-1,0,0)
temp_matrix[8,]<-c( NA,NA,NA,NA,NA,NA,NA,0,0,0,-1)
temp_matrix[9,]<-c(NA,NA,NA,NA,NA,NA,NA,-1,0,0,0)
temp_matrix[10,]<-c(NA,NA,NA,NA,NA,NA,NA,NA,-1,-1,-2)
temp_matrix[11,]<-c(NA,NA,NA,NA,NA,NA,NA,NA,-2,-3,-2)
plot(raster(temp_matrix),axes = FALSE,legend=FALSE)
tempMap <- raster(temp_matrix)

# plot the points over this raster layer
point_1<-c(10,10) # should appear on 2nd row from top i.e. over temp_matrix[2,10]
point_2<-c(9,10)  # should appear on 3rd row from top i.e. over temp_matrix[3,10]
point_3<-c(1,10)  # should appear on lowermost row i.e.over temp_matrix[11,10]
Run Code Online (Sandbox Code Playgroud)

plot r raster spatial

3
推荐指数
1
解决办法
8730
查看次数

在R中的每两列中使用函数

现在我有一个如下所示的数据集:

> data
             a       b        c         d
[1,] 0.5943590 2.195610 0.5332164 1.3004142
[2,] 0.7635876 1.917823 0.9714945 1.3251010
[3,] 0.9942722 2.350122 1.2048159 1.1675700
[4,] 0.3736785 1.876318 0.9109197 0.8520509
Run Code Online (Sandbox Code Playgroud)

然后我想为每两列使用一个函数,例如,

F2<- function(x,y) (sum((x - y) ^ 2)) #define function
F2(data$a, data$b) #use function for first two columns
F2(data$a, data$c) #use function for first and third columns
F2(data$b, data$c) #use function for second and third columns
..................
Run Code Online (Sandbox Code Playgroud)

如何使用申请家人这样做?任何帮助是极大的赞赏.

r apply

3
推荐指数
1
解决办法
409
查看次数

如何将缺失的行和插值添加到 R 中的数据框中?

我有一个这样的数据表:

dat <- data.frame(
   age  = c(0,10,20,40,70,100),
   surv = c(1.0,0.9,0.8,0.6,0.3,0.0)
)
Run Code Online (Sandbox Code Playgroud)

我想为每个缺失的年龄(30,50,60,80,90)添加一行,然后我想将 surv 的线性插值添加到新行。所以新行将是 (30,0.7) (80, 0.2) 等。

这只是一个例子。我实际上正在处理一个更大的数据集,从 0 到 5,000,000 乘以 10(有很多缺失的行),所以我需要一些自动化。

谢谢您的帮助!

interpolation r

3
推荐指数
1
解决办法
880
查看次数