小编Nak*_*akx的帖子

cbind包含数据表和数据框

我有关于数据表和数据框中的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根据第一个参数调用不同的合并函数(如果第一个参数是它调用的数据帧,数据帧,如果是数据表,则调用合并的数据表方法).

对任何语法错误道歉,如果这是一个重复的问题,请告诉我.

谢谢.

r dataframe cbind data.table

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

如何在ggplot2上将图例符号与包装的图例文本对齐

有没有办法将图例符号(红色、绿色或蓝色点)与此示例图上包装的图例文本的第一行对齐?(取自 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 legend figure ggplot2

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

计算非重叠移动平均线

我正在尝试计算 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)

r moving-average

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

增加geom_line中线的大小

这是我正在使用的代码:

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.1size=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)

r

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

How to replace column with strings with look-up codes in R

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 gsub str-replace dataframe data.table

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

更改 R 中数据集的列名称

我是一个完全的新手,正在尝试更改 R 中数据集的列名称。例如,将数据集 quine 中的“Eth”列名称更改为“Ethnic”。非常感谢任何帮助或函数名称。

r

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

将 geom_rect() 添加到 ggplot2 中的时间序列数据

我有一个条形图,它使用 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)

r time-series ggplot2

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

将数据框转换为表格

我有一个以下格式的数据框:

 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

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