我想在第一个负值上剪一个矢量,该怎么办?
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) 请考虑以下输入数据:
41和54).T1和T2)的压力.示例数据:
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) 我正在尝试绘制散点图,然后覆盖一些多边形并在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) 编辑:公认的答案帮助我摆脱了眼界;这种变化毕竟是一种改进,并不令人讨厌。
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中,我正在尝试创建一个自定义折线图,其中所有线条都显示在图表上,但图表的图例是自定义的,只显示两件事.
现在我的代码:
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中不需要的多行数据,但我不知道该怎么做.
我正在使用的数据看起来有点像这样:
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行的值大于零.
假设我有一个1000列的矩阵.我想n从列开始创建一个新矩阵,其中包含原始矩阵中的每个其他列i.
因此,我们说n=3和i=5,然后我从旧胎体所需要的列5,6,7,11,12,13,17,18,19等.
我可以通过以下方式轻松地将空行添加到数据框:
if(nrow(df)==0){ df[nrow(df)+1,] <- NA }
Run Code Online (Sandbox Code Playgroud)
我怎样才能对 data.table 做同样的事情?
使用包含数字列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'
我究竟做错了什么?谢谢.
我正在运行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_packages'中
我尝试安装包存档文件,但我收到相同的错误消息.
会话信息:
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)