小编Pls*_*svn的帖子

计算数据帧中的非NA; 得到答案作为矢量

说我有以下R data.frame ZZZ:

( ZZZ <- structure(list(n = c(1, 2, NA), m = c(6, NA, NA), o = c(7, 8, 
8)), .Names = c("n", "m", "o"), row.names = c(NA, -3L), class = "data.frame") )

## not run
   n  m o
1  1  6 7
2  2 NA 8
3 NA NA 8
Run Code Online (Sandbox Code Playgroud)

我想以矢量的形式知道我有多少非NA.我希望得到的答案是:

2, 1, 3
Run Code Online (Sandbox Code Playgroud)

当我使用命令时length(ZZZ),我得到了3,当然是data.frame中的向量数量,这是一个足够有价值的信息.

我有其他函数在这个data.frame上运行,并以向量的形式给我答案,但是,dang-it,length不会像那样运行.

r na

23
推荐指数
3
解决办法
6万
查看次数

在r,ggplot2,lattice或latticeExtra中创建更连续的调色板

警告......非常新手问题如下:

我试图绘制几个(X,Y)点的相当规则的分布,每个点与一个值相关联,让我们调用Z,它在-20到+20之间变化非常不规则.我对平滑感兴趣; 我想要点Z值根据平滑变化的调色板绘制,就像Gnuplot可以使用适当的平滑调色板一样.我已经尝试过基础R,ggplot2和latticeExtra,尽我所能,我可以提出以下几乎可以做到的事情:

library(lattice)
library(latticeExtra)
library(colorRamps)
df = read.table(file"whatever", header=T)
levelplot(Z~X*Y, df, panel=panel.levelplot.points, cex=0.2,
   col.regions=colorRampPalette(c("red","white","blue"))(50))
Run Code Online (Sandbox Code Playgroud)

一个数据点如下:1302525 225167 -3.5

当我用最后一个代码行中的"50"绘制我的数据帧为3时,我得到红色,白色和蓝色的可预测的R再循环行为,重复五次,第16个颜色条段为白色.将3更改为7会导致更多的红色和蓝色阴影创建2个重复颜色范围段,并在颜色范围尝试回收时留下两个微红色.这表明使这个数字更大可以使颜色更精细.但如果我输入一个大于16的数字,那就是我得到的16个彩色片段,从红色到白色均匀变换为蓝色.但是我希望色标更精细,并且在完美的世界中,将Z的零强制为白色.

到目前为止我对R的经验是,当我不能做到这么简单的事情时,我错过了一个非常基本的概念.它是什么?

plot r colors ggplot2 lattice

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

如何在ggplot2中绘制两条线

这似乎是他的ggplot2书中Hadley的一些例子的类似例子,但我似乎无法做到这一点.鉴于:

off = c(0, 2000, 4000, 6000, 25, 3000, 6050, 9000)
tim = c( 0, -100, -200, -300 -25, -125, -225, -325)
col = c( 1, 1, 1, 1, 2, 2, 2, 2)
dataf = data.frame(off, tim, col)
p = ggplot(dataf, aes(off, tim, color=col)) + geom_point() + geom_line()
p
Run Code Online (Sandbox Code Playgroud)

我认为这应该绘制这八个点并绘制一行通过前四个点col = 1,另一行绘制最后四个点col = 2.然而我最终得到的是一条红色和蓝色交替的线.

为什么?!

r ggplot2

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

使用R''shape'包(或其他包装?)绘制彩色(热)圆形段?

我需要创建一个方位角/距离颜色编码的图,就像使用'shape'包的跟随代码一样.


library(shape)
emptyplot(xlim=c(-5,10), main="color segment test case")

filledcircle(r1=1, r2=2, from=0, to=pi/6, col=intpalette(c("blue", "yellow","red"),    numcol = 100),
val=(cbind(c(0,1),c(.0,.0))), zlim=c(0,1), mid=c(0.0,0.0))
filledcircle(r1=1, r2=2, from=pi/6, to=2*pi/6, col=intpalette(c("blue", "yellow","red"),   numcol = 100), 
val=(cbind(c(0,1),c(.1,.1))), zlim=c(0,1), mid=c(0.0,0.0))
filledcircle(r1=1, r2=2, from=2*pi/6, to=3*pi/6, col=intpalette(c("blue", "yellow","red"), numcol = 100),
val=(cbind(c(0,1),c(.2,.2))), zlim=c(0,1), mid=c(0.0,0.0))
filledcircle(r1=1, r2=2, from=3*pi/6, to=4*pi/6, col=intpalette(c("blue", "yellow","red"), numcol = 100), 
val=(cbind(c(0,1),c(.3,.3))), zlim=c(0,1), mid=c(0.0,0.0))
filledcircle(r1=1, r2=2, from=4*pi/6, to=5*pi/6, col=intpalette(c("blue", "yellow","red"), numcol = 100), 
val=(cbind(c(0,1),c(.4,.4))), zlim=c(0,1), mid=c(0.0,0.0))
filledcircle(r1=1, r2=2, from=5*pi/6, to=6*pi/6, col=intpalette(c("blue",   "yellow","red"), numcol = 100),
val=(cbind(c(0,1),c(.5,.5))), zlim=c(0,1),  mid=c(0.0,0.0))

filledcircle(r1=2, …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×4

ggplot2 ×2

colors ×1

lattice ×1

na ×1

plot ×1