小编lmo*_*lmo的帖子

如何在第一个负值处剪切矢量

我想在第一个负值上剪一个矢量,该怎么办?

x <- c(1, 4 , 6 , 3, -1, 4, -3)
Run Code Online (Sandbox Code Playgroud)

该操作应该导致

c(1, 4, 6, 3)
Run Code Online (Sandbox Code Playgroud)

r

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

计算具有几乎相同时间戳的值之间的差异

请考虑以下输入数据:

  • 我有两个乐器(4154).
  • 他们都测量几个坦克(T1T2)的压力.
  • 他们几乎同时测量压力,但不完全是.

示例数据:

data  <- data.table(
   time = as.POSIXct(paste("2017-01-01", c("11:59", "12:05", "12:02", "12:03", "14:00", "14:01", "14:02", "14:06")), tz = "GMT"),
   instrumentId = c(41, 54, 41, 54, 41, 54, 41, 54),
   tank = c("T1", "T1", "T2", "T2", "T1", "T1", "T2", "T2"),
   pressure = c(25, 24, 35, 37.5, 22, 22.2, 38, 39.4))
Run Code Online (Sandbox Code Playgroud)

我想计算每个罐的仪器41和仪器54测量的压力之间的差异,假设在20分钟内测量的值属于同一样品.

理想情况下,差异的时间戳将是两个比较值的时间戳的平均值.

这是一个目前使用的脚本:

## Calculate difference of time between 2 consecutive lines
data <- data[, timeDiff := difftime(time, shift(time, type …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

如何在ggplot中的geom_polygon中正确填充颜色?

我正在尝试绘制散点图,然后覆盖一些多边形并在ggplot 2中填充具有特定颜色的多边形,并且我在填充时获得正确的颜色有一些问题.我可以绘制散点图和多边形,并将散点图和多边形的边框着色为相同,但是当我尝试填充多边形时,它们总是出现不同的颜色或给我错误.

我的数据看起来像这样,

id       lat     long group
Ak 0.5109300 30.43713       1
Ak 0.5109300 30.43713       2
An 0.4709994 30.43434       1
An 0.4860330 30.44015       2
At 0.4956100 30.44610       2
At 0.4938700 30.44640       2
At 0.4837816 30.44658       3
Be 0.4932194 30.43455       3
Bo 0.4922330 30.44582       1
Bo 0.4922330 30.44582       3
cb 0.4929994 30.44486       5
de 0.4926486 30.45684       5
de 0.5000001 30.45331       5
eg 0.4854526 30.46824       6
eh 0.4765586 30.46987       6
gh 0.4822123 30.54835       7
Run Code Online (Sandbox Code Playgroud)

我有两个颜色列表,一个用于散点图中的点,一个用于多边形的边框和填充,原因有两个列表,是因为我按数据列网络对点进行分组,并希望在所有点周围绘制多边形,级别为1-5(但不是6和7).所以我创建了以下颜色列表

col_list<-c("#FF222C", "#1DFBFF", "#FDFF24", "#2CFF18", "#FF38F4", "#C3C4C9", "#000000")
col_list5<-c("#FF222C", …
Run Code Online (Sandbox Code Playgroud)

r polygon ggplot2

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

该表包括R&gt; 3.4.0中的显式NA

编辑:公认的答案帮助我摆脱了眼界;这种变化毕竟是一种改进,并不令人讨厌。

table现在,在的帮助文件中:

非因子参数a通过factor(a,exclude = exclude)强制。从R 3.4.0开始,请注意不要对排除的值进行计数(以前将它们包括在NA计数中)。

这很烦人。在此之前,您可以调用table(x, exclude = NULL)并获得对NA数值数量的明确确认。现在,如果没有,则不会被告知。观察:

vec_with_no_nas <- c("A", "B", "B", "C")
vec_with_nas <- c("A", "B", NA, "C")

table(vec_with_no_nas)
table(vec_with_no_nas, exclude = NULL)

table(vec_with_nas)
table(vec_with_nas, exclude = NULL)
Run Code Online (Sandbox Code Playgroud)

这给出了输出:

> table(vec_with_no_nas)
vec_with_no_nas
A B C 
1 2 1 
> table(vec_with_no_nas, exclude = NULL)
vec_with_no_nas
A B C 
1 2 1 
Run Code Online (Sandbox Code Playgroud)

看到?没有明确确认零个NA。

我真正想要的是类似旧行为的东西:

> table(vec_with_no_nas, exclude = NULL)
vec_with_no_nas
A B C <NA>
1 2 1 0
Run Code Online (Sandbox Code Playgroud)

FWIW,如果向量确实具有NA值, …

r na tidyverse

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

ggplot中图例的自定义分组

在R中,我正在尝试创建一个自定义折线图,其中所有线条都显示在图表上,但图表的图例是自定义的,只显示两件事.

现在我的代码:

x = data.frame(runif(20),runif(20)*2,runif(20)*3)
names(x) = c("Run 1", "Run 2", "Run 3")
x$Avg = apply(x, 1, mean)
x$Step = row.names(x)
df = melt(x, id=c("Step"))
ggplot(df, aes(x=Step, y=value, group=variable, color=variable)) +
  geom_line()
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

我希望图表显示所有4行(运行1,2,3和平均值),但对于图例,我希望它读取"Avg"和"Individual Runs",其中"Avg"是我选择的任何颜色,每个"个人运行"都是灰色或一些中性色.这种方式,当我有很多运行,我看到视觉上看到的数据,但图例不会离开屏幕.我该如何做到这一点?

r ggplot2

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

根据多行中的值过滤R中的行

我正在尝试过滤掉R中不需要的多行数据,但我不知道该怎么做.

我正在使用的数据看起来有点像这样:

  Category     Item Shop1 Shop2 Shop3
1    Fruit   Apples     4     6     0
2    Fruit  Oranges     0     2     7
3      Veg Potatoes     0     0     0
4      Veg   Onions     0     0     0
5      Veg  Carrots     0     0     0
6    Dairy  Yoghurt     0     0     0
7    Dairy     Milk     0     1     0
8    Dairy   Cheese     0     0     0
Run Code Online (Sandbox Code Playgroud)

我只想保留至少有一个商品至少有一个商店具有正值的类别.

在这种情况下,我想摆脱所有的Veg行,因为没有商店出售任何蔬菜.我希望将所有的Fruit行,我想保持 所有Dairy行,即使是那些在所有店铺零值,因为一个Dairy行确实有大于0的值.

我试图在使用colSums后使用group_by(Category),希望它每次都只是对类别的内容求和,但它不起作用.我还尝试在rowSums的末尾添加一个列并根据频率进行过滤,但我只能这样过滤掉各行,而不是基于整个类别的行.

虽然我可以过滤出值为零的单个行(例如第3行),但我的难度是保留在行6和8等行中,其中每个商店的所有值都为零,但我想保留这些行,因为其他Dairy行的值大于零.

r dataframe dplyr

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

按列从矩阵中提取块

假设我有一个1000列的矩阵.我想n从列开始创建一个新矩阵,其中包含原始矩阵中的每个其他列i.

因此,我们说n=3i=5,然后我从旧胎体所需要的列5,6,7,11,12,13,17,18,19等.

r matrix

3
推荐指数
2
解决办法
97
查看次数

如果nrow=0,如何将空行添加到data.table?

我可以通过以下方式轻松地将空行添加到数据框:

if(nrow(df)==0){ df[nrow(df)+1,] <- NA }
Run Code Online (Sandbox Code Playgroud)

我怎样才能对 data.table 做同样的事情?

r dataframe data.table

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

R中的匿名函数

使用包含数字列PY的数据集w,我可以:

nrow(subset(w, PY==50))
Run Code Online (Sandbox Code Playgroud)

并得到正确的答案.但是,如果我尝试创建一个函数:

fxn <- function(dataset, fac, lev){nrow(subset(dataset, fac==lev))}
Run Code Online (Sandbox Code Playgroud)

并运行

fxn(w, PY, 50)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

eval(expr,envir,enclos)中的错误:找不到对象'PY'

我究竟做错了什么?谢谢.

r function

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

Zoo包编译错误

我正在运行RStudio Server,无法安装该zoo软件包.我得到的错误消息如下:

安装包(S)到一个'/ home/tsajid/R /库'试图URL(如'LIB'是不确定的)' http://mirrors.nics.utk.edu/cran/src/contrib/zoo_1.7-9 .tar.gz '内容类型'应用程序/ x-gzip'长度807084字节(788 Kb)打开URL =========================== =======================已下载788 Kb

**安装包'zoo'...
**包'zoo'成功解压缩并检查MD5总和
**libs sh:make:命令未找到错误:包'zoo'编译失败
**删除'/ home/tsajid/R/library/zoo'install.packages中的警告:
'zoo'包的安装具有非零退出状态

下载的源包位于'/ tmp/RtmpsKlJWz/downloaded_pa​​ckages'中

我尝试安装包存档文件,但我收到相同的错误消息.

会话信息:

R version 2.15.1 (2012-06-22)
Platform: x86_64-redhat-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] svMisc_0.9-65

loaded via a namespace (and not attached):
[1] tools_2.15.1
Run Code Online (Sandbox Code Playgroud)

r zoo

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

标签 统计

r ×10

data.table ×2

dataframe ×2

ggplot2 ×2

dplyr ×1

function ×1

matrix ×1

na ×1

polygon ×1

tidyverse ×1

zoo ×1