我有此数据集,我想填写area under each line。但是我收到一条错误消息:
错误:stat_bin()不得用于美观。
另外,我需要使用alpha透明性值。有什么建议么?
library(reshape2)
library(ggplot2)
dat <- data.frame(
a = rnorm(12, mean = 2, sd = 1),
b = rnorm(12, mean = 4, sd = 2),
month = c("JAN","FEB","MAR",'APR',"MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"))
dat$month <- factor(dat$month,
levels = c("JAN","FEB","MAR",'APR',"MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"),
ordered = TRUE)
dat <- melt(dat, id="month")
ggplot(data = dat, aes(x = month, y = value, colour = variable)) +
geom_line() +
geom_area(stat ="bin")
Run Code Online (Sandbox Code Playgroud) 嗨,我对使用redis的memtier基准测试工具非常陌生.我已经运行了基本示例,但无法理解输出.有人可以帮我理解下面的输出.
Command: memtier_benchmark -s 172.25.1.100 -p 6380 -c 50 -t 100 -n 1000 -d 1000000 --ratio=1:1 --pipeline=1 --key-pattern S:S -P redis
Run Code Online (Sandbox Code Playgroud)
输出:
100 Threads
50 Connections per thread
1000 Requests per thread
Type Ops/sec Hits/sec Misses/sec Latency KB/sec
------------------------------------------------------------------------
Sets 748.28 --- --- 6475.61800 730780.68
Gets 748.28 0.00 748.28 208.12400 22.57
Waits 0.00 --- --- 0.00000 ---
Totals 1496.57 0.00 748.28 3341.87100 730803.25
Run Code Online (Sandbox Code Playgroud) 我怎样才能更有效地编写下面的代码(即在更少的行中)?
我似乎无法定义一个函数与去年参数,并喜欢写东西Data{Year} = read.csv('{Year}.csv')或Data{Year}${Year+1} = 0等...
## Load data ##
Data2011 = read.csv('2011.csv')
Data2012 = read.csv('2012.csv')
Data2013 = read.csv('2013.csv')
Data2014 = read.csv('2014.csv')
## Year dummies ##
Data2011$D2011 = 1
Data2011$D2012 = 0
Data2011$D2013 = 0
Data2011$D2014 = 0
Data2012$D2011 = 0
Data2012$D2012 = 1
Data2012$D2013 = 0
Data2012$D2014 = 0
Data2013$D2011 = 0
Data2013$D2012 = 0
Data2013$D2013 = 1
Data2013$D2014 = 0
Data2014$D2011 = 0
Data2014$D2012 = 0
Data2014$D2013 = 0
Data2014$D2014 = 1
Run Code Online (Sandbox Code Playgroud) 这是一个非常简单的问题,但在这里找不到合适的答案。
一个如何将两个data.frame dplyr基于两个在每个data.frame中具有不同名称的列连接在一起?
有了base::merge一个可以简单merge:
df3 <- merge(df1, df2, by.x=c("name1", "name2"), by.y=c("name3", "name4"))
Run Code Online (Sandbox Code Playgroud)
在哪里df1$name1 == df2$name3和df1$name2 == df2$name4。
如何做到这一点dplyr?
我知道一个人可以使用该by函数dplyr来连接两个基于一个具有不同名称的列的data.frame:
df3 <- dplyr::left_join(df1, df2, by=c("name1" = "name3"))
Run Code Online (Sandbox Code Playgroud) 目标:将数据帧列表中数据帧的 colname 更改为每个数据帧的名称。
在处理与其名称有关的列表和数据框时,我遇到一些问题。我准备了这个例子来澄清。希望这不是一团糟。
df1 <- data.frame(A = 1, B = 2, C = 3)
df2 <- data.frame(A = 3, B = 3, C = 2)
dfList <- list(df1,df2)
Run Code Online (Sandbox Code Playgroud)
输出:
> str(dfList)
List of 2
$ :'data.frame': 1 obs. of 3 variables:
..$ A: num 1
..$ B: num 2
..$ C: num 3
$ :'data.frame': 1 obs. of 3 variables:
..$ A: num 3
..$ B: num 3
..$ C: num 2
> names(dfList)
NULL
> names(dfList$df1)
NULL …Run Code Online (Sandbox Code Playgroud) 我有一个data.table,我想在其中填写一栏以填写一些缺失的值,但是在填写其他栏时遇到了一些麻烦。
dt = data.table(a = c(1, 3, 5), b = c('a', 'b', 'c'))
dt[, .(a = seq(min(a), max(a), 1), b = na.locf(b))]
# a b
# 1: 1 a
# 2: 2 b
# 3: 3 c
# 4: 4 a
# 5: 5 b
Run Code Online (Sandbox Code Playgroud)
但是正在寻找更像这样的东西:
dt %>%
complete(a = seq(min(a), max(a), 1)) %>%
mutate(b = na.locf(b))
# # A tibble: 5 x 2
# a b
# <dbl> <chr>
# 1 1 a
# 2 2 a
# 3 …Run Code Online (Sandbox Code Playgroud) 当我遇到函数产生的相当奇怪的差异时,我一直试图data.table通过将round函数添加到ITime类来为包做出贡献round。在幕后,类的对象ITime只是一个具有漂亮格式的整数向量,因此unclass(object)提供了一个整数向量。
将这个整数向量四舍五入到最接近的分钟可以这样完成:
x <- as.ITime(seq(as.POSIXct("2020-01-01 07:00:00"), as.POSIXct("2020-01-01 07:10:00"), "30 sec"))
round(unclass(x) / 60L) * 60L
# or
round(as.integer(x) / 60L) * 60L
Run Code Online (Sandbox Code Playgroud)
问题就在这里……
当我执行此操作时,我希望unclass(x) / 60以 0.5 结尾的任何实例都被四舍五入。然而,事实并非如此!
我已经在两台不同的计算机上的 Windows 和 Mac 上尝试了这个例子,结果相同。有没有人知道为什么会发生这种情况?
** 仅供参考,我知道这个特定问题可以用不同的方式解决:unclass(x) %/% 60L. 但我感兴趣的是为什么该round功能不能按预期工作。
我使用此命令删除所有值为 NA 的列。
testing5 <- subset(testing4,
select = -c(kurtosis_picth_belt, skewness_roll_belt,
skewness_roll_belt.1, min_yaw_belt, amplitude_yaw_belt,
kurtosis_roll_arm, kurtosis_picth_arm, kurtosis_yaw_arm,
skewness_roll_arm, skewness_pitch_arm, kurtosis_picth_dumbbell,
skewness_roll_dumbbell, skewness_pitch_dumbbell, min_yaw_dumbbell,
kurtosis_roll_forearm, kurtosis_picth_forearm, skewness_roll_forearm,
skewness_pitch_forearm))
Run Code Online (Sandbox Code Playgroud)
有没有更短的(程序化)方法?
谢谢和问候, 帕萨
在常规R图中,我可以通过改变cex参数来使点更小或更大.如果我使用ggplot,我该怎么做呢?特别是,我正在制作ggplot并希望缩小点数.谢谢!
感谢那些评论的人.但我不知道如何使用sizeqqplot.我的代码如下.
qplot(sample=Shape, data=shape.mop, colour=Type) +
theme(legend.position="bottom") +
geom_point(size=0.5)
Run Code Online (Sandbox Code Playgroud) 我有一个很大的data.frame,我想生成一个新的列(称为Seq),它有一个顺序值,每次不同的列发生更改时重新启动.下面是data.frame(带有省略的列)和名为Seq的新列的示例.正如您所看到的那样,有一个sequentiel计数,但每次有新的IDPath时,sequentiel计数都会重新开始.sequentiel长度可以有不同的长度,有些是1长,而其他是300.
IDPath LogTime Seq
AADS 19-06-2015 01:57 1
AADS 19-06-2015 01:55 2
AADS 19-06-2015 01:54 3
AADS 19-06-2015 01:53 4
DHSD 19-06-2015 12:57 1
DHSD 19-06-2015 10:58 2
DHSD 19-06-2015 09:08 3
DHSD 19-06-2015 08:41 4
Run Code Online (Sandbox Code Playgroud)