我有关于数据表和数据框中的cbind特性的查询.如果我绑定数据帧(df)和数据表(dt),则结果对象的类取决于第一个参数.
例:
> dt<-data.table(x=c(1,2,3),y=c(2,3,4),z=c(3,4,5))
> df<-data.frame(x=c(1,2,3),y=c(2,3,4),z=c(3,4,5))
> dt
x y z
1: 1 2 3
2: 2 3 4
3: 3 4 5
Run Code Online (Sandbox Code Playgroud)
案例1 :(第一个参数作为数据框)
>test_df<-cbind(df,dt)
>class(test_df)
[1] "data.frame"
Run Code Online (Sandbox Code Playgroud)
案例2 :(第一个参数作为数据表)
>test_dt<-cbind(dt,df)
>class(test_dt)
[1] "data.table" "data.frame"
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是如何在两种不同的情况下将输出对象作为数据表和数据框来获取,其中cbind没有data.table方法.
在合并函数中很清楚,R根据第一个参数调用不同的合并函数(如果第一个参数是它调用的数据帧,数据帧,如果是数据表,则调用合并的数据表方法).
对任何语法错误道歉,如果这是一个重复的问题,请告诉我.
谢谢.
有没有办法将图例符号(红色、绿色或蓝色点)与此示例图上包装的图例文本的第一行对齐?(取自 ggplot2 中每个图例标签的eipi10多行文本)
library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species,
"random text to make the labels much much longer than the original labels")
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
geom_point() +
labs(colour="Long title shortened\nwith wrapping") +
theme(legend.key.height=unit(2, "cm"))
Run Code Online (Sandbox Code Playgroud)
这是一个细节问题,但一位合著者坚持要这样做。
我正在尝试计算 R 中时间序列的移动平均值,但结果不成功。
这是我所做的:
样本向量:
library(gtools)
test <- sample(1:100, 50)
testrunning <- running(test, width=10, by=10, FUN=mean, trim=0, na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)
它产生了一个结果,但结果不是我数据中窗口的平均值;相反,它是窗口的平均值。像这样:
testrunning
## 1:10 11:20 21:30 31:40 41:50
## 5.5 15.5 25.5 35.5 45.5
Run Code Online (Sandbox Code Playgroud) 这是我正在使用的代码:
ggplot(data, aes(x = Date1, group=1)) +
geom_line(aes(y = Wet, colour = "Wet")) +
geom_line(aes(y = Dry, colour = "Dry"))
Run Code Online (Sandbox Code Playgroud)
当我使用功能大小时,线条太粗,并且它们的宽度从size=0.1到size=10或更多相同。有没有办法控制线的大小?
虚拟数据:
Date Wet Dry
July 5.65 4.88
September 5.38 3.93
October 4.73 2.42
Run Code Online (Sandbox Code Playgroud) Imagine that I have a dataframe or datatable with strings column where one row looks like this:
a1; b: b1, b2, b3; c: c1, c2, c3; d: d1, d2, d3, d4
Run Code Online (Sandbox Code Playgroud)
and a look-up table with codes for mapping each of these strings. For example:
string code
a1 10
b1 20
b2 30
b3 40
c1 50
c2 60
...
Run Code Online (Sandbox Code Playgroud)
I would like to have a mapping function that maps this string to code:
10; b: 20, 30, 40; c: …Run Code Online (Sandbox Code Playgroud) 我是一个完全的新手,正在尝试更改 R 中数据集的列名称。例如,将数据集 quine 中的“Eth”列名称更改为“Ethnic”。非常感谢任何帮助或函数名称。
我有一个条形图,它使用 x 轴的时间序列数据,其中每个条形代表 7 天。
这是数据框的前几行:
# A tibble: 40 x 5
# Groups: group [26]
group thing minDate count dateRange
<drtn> <dbl> <date> <dbl> <chr>
1 1 days 0 2019-04-02 39 Apr 02 - Apr 08
2 2 days 0 2019-04-09 39 Apr 09 - Apr 15
3 3 days 0 2019-04-16 39 Apr 16 - Apr 22
4 4 days 0 2019-04-23 39 Apr 23 - Apr 29
5 5 days 0 2019-04-30 39 Apr 30 - May …Run Code Online (Sandbox Code Playgroud) 我有一个以下格式的数据框:
state1 state2 score
A A 3
A B 13
A C 5
B A 1
B B 0
B C 0
C A 5
C B 6
C C 3
Run Code Online (Sandbox Code Playgroud)
我想将其转换为表格:
A B C
A 3 13 5
B 1 0 0
C 5 6 3
Run Code Online (Sandbox Code Playgroud)
除了手动之外,还有其他简单的方法吗?
r ×8
data.table ×2
dataframe ×2
ggplot2 ×2
cbind ×1
figure ×1
gsub ×1
legend ×1
str-replace ×1
time-series ×1