我已经生成了一个模型列表,并希望创建一个汇总表.
例如,这里有两个模型:
x <- seq(1:10)
y <- sin(x)^2
model1 <- lm(y ~ x)
model2 <- lm(y ~ x + I(x^2) + I(x^3))
Run Code Online (Sandbox Code Playgroud)
和两个公式,第一个从公式的组成部分生成方程
get.model.equation <- function(x) {
x <- as.character((x$call)$formula)
x <- paste(x[2],x[1],x[3])
}
Run Code Online (Sandbox Code Playgroud)
第二个生成模型名称作为字符串
get.model.name <- function(x) {
x <- deparse(substitute(x))
}
Run Code Online (Sandbox Code Playgroud)
有了这些,我创建了一个汇总表
model.list <- list(model1, model2)
AIC.data <- lapply(X = model.list, FUN = AIC)
AIC.data <- as.numeric(AIC.data)
model.models <- lapply(X = model.list, FUN = get.model)
model.summary <- cbind(model.models, AIC.data)
model.summary <- as.data.frame(model.summary)
names(model.summary) <- c("Model", "AIC")
model.summary$AIC <- …Run Code Online (Sandbox Code Playgroud) 1|1001|399.00|123
1|1001|29.99|234
2|1002|98.00|345
2|1002|29.98|456
3|1003|399.00|567
4|1004|234.56|456
Run Code Online (Sandbox Code Playgroud)
我如何使用awk在第2列中使用'1002'获取所有行?
如果我想在第一列中使用'2'获取所有行,我可以使用grep ^ 2,但如何使用不同的列进行搜索?
我使用[[0,0,0,1],[0,1,0,1],[1,0,0,0],[0,0,1,1]]表示栅格的r矩阵(例如).我想用行索引值替换除0以外的每个值.有没有类似的东西
matrix[matrix==1] <- row_index
Run Code Online (Sandbox Code Playgroud)
这样我的结果会是什么样子[[0,0,0,1],[0,2,0,2],[3,0,0,0],[0,0,4,4]]?
我在Mac(10.7.5)和RPY2 2.2.6上使用R 2.15.1来启动R-Methods.或者有没有其他的方式来获得类似统计功能合理的结果histogram,chi_square等等?
我有一个分组数据如下:
group x y
group1 0 5
group4 0 5
group1 7 5
group4 0 5
group5 7 5
group1 7 5
group1 0 6
group2 0 6
group4 0 5
group2 0 5
group3 7 5
Run Code Online (Sandbox Code Playgroud)
x 和 y 都是离散值,范围在 0 到 7 之间。我想根据各自的 x 和 y 值将每个组数据放置在 xy 平面上。例如,我可以有多个 group1 点,所有这些应该共享相同的颜色。如何在 R 中做到这一点?
我有一个csv文件并使用提取数据
banknifty <- as.xts(read.zoo("banknifty.csv",sep=",",tz="" ,header=T))
Run Code Online (Sandbox Code Playgroud)
read.zoo()使用数值提取数据框,但在我应用时as.xts(),data. frame数字值将转换为字符.
# banknifty[1,] gives
2008-01-01 09.34:00 "10" "12" "13"
Run Code Online (Sandbox Code Playgroud)
我想要as.xts返回data.frame数值.如何避免这个问题?
我有第1列和第2列(ID和值).接下来我想要一个count列,列出每个id出现相同值的次数.如果它不止一次出现,它显然会重复该值.此数据集中还有其他变量,但新计数变量只需要有2个条件.我已经浏览了这个博客,但我找不到一种方法来使新变量以多个变量为条件.
ID Value Count
1 a 2
1 a 2
1 b 1
2 a 2
2 a 2
3 a 1
3 b 3
3 b 3
3 b 3
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我需要绘制三条线(在一张图上),每条线代表一个实验室团队的数据(两个变量/团队).理想情况下,图形应该看起来美观(因此使用ggplot2!),但形式与下图所示的线图相似.我不明白如何使用gggplot2库将多行绘制到单个图形上.我目前对ggplot2库的知识/技能很低,但我在下面列出了我的初出茅庐的努力.
http://www.harding.edu/fmccown/r/#linecharts
编辑:每行由两个向量构成,如下所示:
temp = c(4, 25, 50, 85, 100)
enzyme_activity = c(0.543, 0.788, 0.990, 0.898, 0.882)
Run Code Online (Sandbox Code Playgroud)
在x轴上使用temp变量,每行使用不同的颜色,以便区分它们.
EDIT2:
amyA = c(0.091, 0.147, 0.202, 0.236, 0.074)
temp = c(4, 23, 37, 65, 100)
df = data.frame(temp, amyA)
ggplot(df, aes(x = temp, y = amyA, col = 'blue')) + geom_line()
Run Code Online (Sandbox Code Playgroud)
第二次编辑中的代码不会生成蓝线,并且图例完全错误.如果我用不同的数据重复两个ggplot调用,则只绘制一行.
我正在尝试更正我的数据表,因此我的列具有相同的单位.这是我所拥有的一个例子.
hh:mm A V W kA V kW A kV kW
11:00 13.84 470.16 6509.88 14.89 467.85 6964.38 15.74 464.01 7303.13
11:05 12.54 475.17 5959.22 13.40 474.52 6358.89 13.34 473.13 6311.80
11:10 9.73 476.20 4632.14 10.36 473.38 4905.86 10.38 472.73 4907.14
11:15 9.20 479.30 4410.89 9.65 482.79 4659.67 9.73 479.09 4659.33
11:20 11.28 482.22 5437.78 12.03 484.95 5835.33 12.24 476.36 5829.44
11:25 11.66 481.64 5614.56 12.76 479.95 6124.56 12.88 476.86 6139.33
11:30 10.38 475.13 4934.00 11.99 480.96 5760.44 11.50 478.77 …Run Code Online (Sandbox Code Playgroud) 我正在努力通过一些参考专栏将一个数据表的元素与另一个"主"集合在一起.为了使事情更清楚,我创建了一些示例数据:
这是我想要加入另一个"主集"的数据集.
data.frame(refID = c(1,3,4,5,7,8), value = c(3.3,3.9,4.4,8.0,1.1,2.5))
refID value
1 3.3
3 3.9
4 4.4
5 8.0
7 1.1
8 2.5
Run Code Online (Sandbox Code Playgroud)
主集:
data.frame(refID = 1:9, value = rep(0,9))
refID value
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
Run Code Online (Sandbox Code Playgroud)
我基本上希望将第一个数据集中的值列发送到第二个数据集,但是如果存在间隙,则让它们的值为0.最终,我希望得到:
结果集:
refID value
1 3.3
2 0.0
3 3.9
4 4.4
5 8.0
6 0.0
7 1.1
8 2.5
9 0.0
Run Code Online (Sandbox Code Playgroud)
我打得周围的一些东西dplyr和data.table包,但似乎无法真正找出这样做的一个很好的和直接的方式.非常感谢建议,非常感谢.
我有一个包含2列的数据表:
term freq
1: a arena tour 1
2: a available why 1
3: a backup in 1
4: a bad ass 1
5: a bad chick 1
Run Code Online (Sandbox Code Playgroud)
我想将"term"列拆分为最后一个空格,例如:
termA termB freq
1: a arena tour 1
2: a available why 1
3: a backup in 1
4: a bad chick 1
Run Code Online (Sandbox Code Playgroud)
我尝试使用"str"(代码bellow),它仅对一个字符串起作用,但对data.date不起作用(似乎在所有行上使用相同的索引)
data.table (termA = substr(dt_n3$term, 1, rev(gregexpr("\\ ", dt_n3$term)[[1]])[1]-1),
termB = substr(dt_n3$term, rev(gregexpr("\\ ", dt_n3$term)[[1]])[1], 1000),
freq = dt_n3$freq)
Run Code Online (Sandbox Code Playgroud)
无论如何,我不认为这是最好的方法.有人可以帮我吗?谢谢