好的,这是一个棘手的问题。这可能是不可能的。
test<-data.frame(var.a=c(1,1,1,1,2,2,2,3,3,3,3,3,4,4,5,5,5,5), var.b=c(1,2,1,3,2,3,4,3,2,2,1,2,1,2,3,4,1,2))
Run Code Online (Sandbox Code Playgroud)
是否可以根据 var.b 的分布为 hist(test$var.a) 直方图的每个 bin 着色?这样我就可以知道在 hist(test$var.a) 的 bin 1 中,var.b 有 50% 的“ones”、25%的“twos”和 24%的“threes”?每个垃圾箱内都有某种堆叠的酒吧?
我猜是某种旋转图,但是条形图不应具有相同的高度(因为它们代表 var.a 的频率),并且在每个条形图中,var.b 的频率应进行颜色编码。
非常感谢
我有2个变量x,y它们是[0,1]处的笛卡尔坐标,并且z是这些坐标处的(连续)变量的值.该z载体有一些重要的异常值
x<-sample(seq(0,1,0.001), replace=F)
y<-sample(seq(0,1,0.001), replace=F)
z<-runif(1001,min=0,max=1)
z[100]<-8;z[400]<-16;z[800]<-4
Run Code Online (Sandbox Code Playgroud)
我想在这些数据中提出这些异常值 filled.contour
我一直用到现在
library(akima)
a<-interp(x,y,z)
filled.contour(a$x,a$y,a$z)
Run Code Online (Sandbox Code Playgroud)
但我对这种线性插值感到不满意.例如(异常值没有正确显示).
我在想我需要的是z的某种最近邻"空间"平滑(基于x,y位置).任何人都可以帮助或查明可以帮助我的数据/示例/包/代码吗?我更喜欢基础R解决方案,但如果ggplot2或格子可以完成我的工作,那就没问题了.任何其他更好的可视化的想法/建议也将受到欢迎.
我有一个数据集
dtf<-data.frame(id=c("A","A","A","A","B","B","B","B"), value=c(2,4,6,8,4,6,8,10))
Run Code Online (Sandbox Code Playgroud)
对于每个id,值按升序排序
我想减少dtf,使每个id值超过指定限制时只包含第一行.每个只有一行id,并且应该是value第一行超过指定限制的行.
对于此示例,对于5dtf 的限制应减少为:
A 6
B 6
Run Code Online (Sandbox Code Playgroud)
这是一个很好的方法吗?
非常感谢
我想写一个bash脚本,下载并安装最新的每日程序版本(RStudio).是否可以wget下载目录http://www.rstudio.org/download/daily/desktop/中的最新文件?
有没有一种简单的方法来监控julia和所有julia包的提交和开发?我知道https://github.com/JuliaLang/julia/commits/master
我想在已生成的plot()窗口上添加变量分布的直方图.这个脚本是大量定制的,我只能添加它.我不能hist()用来绘图.X轴是连续的,Y尺度是概率[0,1](编辑: y轴中的一个是另一个是连续的概率).如何添加条形来表示已生成的此变量的分布plot()?仅限Base-R
到目前为止我所做的是plot()然后进行分配lines(hist()$breaks, hist()$density, type="h"),但是我只给出了线条而不是盒子般的条形图hist()
从我的理解boxplot()不会有帮助,并barplot()要求因素不是连续的比例变量(像我一样).
更新:该hist(...,add=T)选项对我不起作用.我希望在line()解决方案中具有灵活性(因此能够转换x和y向量),而不是用于绘制框的线条.有任何想法吗?
我有这个数据框
t<-data.frame(v1=c(1,2,1,4,6,7,8,2,3,4,8,1,2), v2=c(2,3,6,1,-3,-2,1,2,-3,6,7,-2,1))
Run Code Online (Sandbox Code Playgroud)
从上到下扫描data.frame,只要v2为正,我想获得v1的累积和.当v2变为负数时,它应该停止,记录(到那时为止的cum.sum)的值,并且累计和应该从下一个第一个正v2重新开始,依此类推.因此,最终对于上述数据帧将是向量
8, 10 , 12, 2
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
试图将我的思维包裹在矢量化中,尝试更快地进行模拟,我发现了这种非常基本的流行病模拟.代码来自http://www.amazon.com/Introduction-Scientific-Programming-Simulation-Using/dp/1420068725/ref=sr_1_1?ie=UTF8&qid=1338069156&sr=8-1
#program spuRs/resources/scripts/SIRsim.r
SIRsim <- function(a, b, N, T) {
# Simulate an SIR epidemic
# a is infection rate, b is removal rate
# N initial susceptibles, 1 initial infected, simulation length T
# returns a matrix size (T+1)*3 with columns S, I, R respectively
S <- rep(0, T+1)
I <- rep(0, T+1)
R <- rep(0, T+1)
S[1] <- N
I[1] <- 1
R[1] <- 0
for (i in 1:T) {
S[i+1] <- rbinom(1, S[i], (1 - a)^I[i]) …Run Code Online (Sandbox Code Playgroud) 我有大数据框,有不同数量的列和行.我想在数据帧中搜索给定向量的值,并删除与给定向量的值匹配的单元格行.我想把它作为一个函数,因为我必须在可变行和列的多个数据帧上运行它,我想要避免for循环.
例如
ff<-structure(list(j.1 = 1:13, j.2 = 2:14, j.3 = 3:15), .Names = c("j.1","j.2", "j.3"), row.names = c(NA, -13L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
删除包含值的单元格的所有行 8,9,10
我想我可以使用ff[ !ff[,1] %in% c(8, 9, 10), ]或subset(ff, !ff[,1] %in% c(8,9,10) )
但是为了从数据集中删除所有值,我必须解析每一列(可能有一个for循环,我希望避免的东西).
还有其他(更清洁)的方式吗?
非常感谢
如何从互斥虚拟变量(取值 0/1)创建分类变量?
基本上我正在寻找与此解决方案完全相反的解决方案:(https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781787124479/1/01lvl1sec22/creating-dummies-for-categorical-variables)。
希望有一个基本的 R 解决方案。
例如,我有以下数据:
dummy.df <- structure(c(1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L,
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L),
.Dim = c(10L, 4L),
.Dimnames = list(NULL, c("State.NJ", "State.NY", "State.TX", "State.VA")))
Run Code Online (Sandbox Code Playgroud)
State.NJ State.NY State.TX State.VA
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 1 0 0 …Run Code Online (Sandbox Code Playgroud)