我有一个元素在某一行中的向量,但现在我想改变这些元素的顺序.我怎么能只用一行代码呢?
# 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的初学者,所以让你的回答尽可能简单,尽可能淡化!谢谢!
这可能是一个愚蠢的问题,但我已经困扰了很长一段时间.我看到人们在定义函数时使用单引号括起函数名.我一直在想这样做的好处.以下是一个天真的例子
'row.mean' <- function(mat){
return(apply(mat, 1, mean))
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
是否有可能只用平均值,标准差和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表.
任何帮助将非常感激!:)
示例数据.
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,检查代码,它看起来对我来说完全没问题.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)
我知道这很简单,我不明白为什么它不起作用.救命?
拿这个数据集......
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) 我希望在将矩阵转换为栅格对象(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) 现在我有一个如下所示的数据集:
> 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)
如何使用申请家人这样做?任何帮助是极大的赞赏.
我有一个这样的数据表:
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(有很多缺失的行),所以我需要一些自动化。
谢谢您的帮助!