小编gio*_*ano的帖子

x轴或y轴标签中的千位分隔符

我想在y轴上有漂亮的标签.例如,我更喜欢1000而不是1000.如何在ggplot中执行此操作?这是一个最小的例子:

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000))
ggplot(x,aes(x=a, y=b))+
               geom_point(size=4)
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何提示.

r ggplot2 axis-labels

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

如何使用HeidiSQL复制数据库?

我在Windows XP上安装了MariaDB本地安装程序.
我创建了一个空数据库db_y,我想填充数据库的表db_x,我从MySQL实例(使用HeidiSQL)导出为转储文件.

当我将dump-file db_x.sql导入MariaDB实例时:

c:\ > mysql -u root -h localhost -p db_y < "X:/archive/db_x.sql"
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

- MariaDB-inst
    +db_x  
    +db_y
Run Code Online (Sandbox Code Playgroud)

db_y保持为空并且db_x添加了dump-file(db_x是我导出的原始数据库的数据库名称).

我需要做什么才能获得所需的数据库名称?
我以为我可以在db_x.sql文件中更改数据库名称,但我不想打开这么大的文件.
我可以更改上面的导入命令,以便更改数据库名称吗?
我也对这种解决方案感兴趣:

CREATE DATABASE y FROM DATABASE x
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?
在网上我找到了不推荐使用的解决方案RENAME DATABASE和ALTER DATABASE db_x UPGRADE DATA DIRECTORY NAME但是真诚地,我更喜欢使用新名称创建一个新的数据库.谢谢你的帮助.

mysql database heidisql

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

R将字符串计算为数据帧

如何将一个类字符串作为数据框进行评估?

具体来说,我有几个数据框可以说:x0,x1,x3:

x0 <- data.frame(a=1,b="a")
x1 <- data.frame(a=2,b="b")
x2 <- data.frame(a=3,b="c")
Run Code Online (Sandbox Code Playgroud)

它们具有相同的结构,我想将它们合并rbind.为了避免调用每个数据帧,我使用正则表达式:

x <- grep("x\\d",ls(),perl=TRUE,value=TRUE) 
Run Code Online (Sandbox Code Playgroud)

这给了我一个类角色的向量.现在,我想将它们合并到一个名为的数据帧x.all:

x.all <- rbind(x)
Run Code Online (Sandbox Code Playgroud)

我得到的是一个尺寸为(1,3)的矩阵.有人能给我一个提示吗?非常感谢您的帮助.

r dataframe

10
推荐指数
1
解决办法
1667
查看次数

R:dplyr 和 row_number() 未按预期枚举

我想枚举分组产生的数据帧/标题的每条记录。该索引是按照定义的顺序排列的。如果我使用 row_number() 它确实会枚举但在组内。但我希望它在不考虑前一组的情况下进行枚举。

这是一个例子。为了简单起见,我使用了最小的数据框:

library(dplyr)

df0 <- data.frame( x1 = rep(LETTERS[1:2],each=2)
                 , x2 = rep(letters[1:2], 2)
                 , y = floor(abs(rnorm(4)*10))
)
df0
#   x1 x2  y
# 1  A  a 12
# 2  A  b 24
# 3  B  a  0
# 4  B  b 12
Run Code Online (Sandbox Code Playgroud)

现在,我将此表分组:

 df1 <- df0 %>% group_by(x1,x2) %>% summarize(y=sum(y))
Run Code Online (Sandbox Code Playgroud)

这给了我一个 tibble 类的对象:

 # A tibble: 4 x 3
 # Groups:   x1 [?]
 #   x1    x2        y
 #   <fct> <fct> <dbl>
 # 1 A     a        12 …
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr tibble

6
推荐指数
1
解决办法
2522
查看次数

ggplot:如何使用 stat_summary 添加段

这个问题与如何在使用 stat_summary 时更改箱线图设置有关,我在其中设法构建了漂亮的单色箱线图。

但是,由于“单色”,中间段的颜色无法与框的其余部分区分开来。我已经设法为中位数添加了一个黑点,但我更喜欢添加一个段。这是代码:

# Data
xdf2 <- data.frame(month = rep(1:6, each = 100), 
                   grp = rep(c('A','B'), 50*6))
xdf2$m <- rpois(n = nrow(xdf2),10)

# Definition of whiskers
f <- function(x) {
   r <- quantile(x, probs = c(0.10, 0.25, 0.5, 0.75, 0.90))
   names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
   r
 }

# Add points outside of whiskers     
o <- function(x) {
  subset(x, x < quantile(x, probs=0.1) | quantile(x, probs=0.9) < x)
}

# Plot
ggplot(data …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot

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

ggplot2:如果位置=“填充”,则在条形图上添加标签

我想在填充条形图上添加百分比数字。这是标签位于错误位置的图:

在此输入图像描述

这是数据框:

x0 <- expand.grid(grp    = c("G1","G2")
                 , treat = c("T1","T2")
                 , out   = c("out1","out2","out3","out4")
)
set.seed(1234)
x0$n <- round(runif(16,0,1)*100,0)
head(x0)
  grp treat  out  n
1  G1    T1 out1 11
2  G2    T1 out1 62
3  G1    T2 out1 61
4  G2    T2 out1 62
5  G1    T1 out2 86
6  G2    T1 out2 64
Run Code Online (Sandbox Code Playgroud)

现在,我将 grp/treat 中的总和添加到数据帧中(使用 sql,抱歉!):

x0 <- sqldf(paste("SELECT a.*, (SELECT SUM(n)"
                  ,"            FROM x0 b"
                  ,"            WHERE a.grp = b.grp"
                  ,"                  AND a.treat = …
Run Code Online (Sandbox Code Playgroud)

label r ggplot2 geom-bar

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

如何将带有代码的表导出到文件中

我想将 Firebird 数据库中的表导出到 CSV 文件中。借助 MySQL,我可以将 SQL 与其他命令一起使用,例如INTO OUTFILE. 这是一个例子:

SELECT a,b,a+b INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;
Run Code Online (Sandbox Code Playgroud)

此查询可以在多个 sql-query-tools(MySQL WB、HeidiSQL、ccenter)上提交。是否可以使用例如 FlameRobin 提交如上所述的 SQL 语句来从 Firebird 导出数据?我可以使用菜单或其他工具(如 FBexport)来使用 FlameRobin,但我更喜欢单代码解决方案,无需单击菜单或使用其他工具(FBexport)。

firebird export

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

R ggplot2 - geom_histogram:由于限制了y尺度,在图中删除了水平/颜色

我每年都有一定数量的独特患者属于三个级别之一.我想绘制每年三个级别的相对频率分布.假设80%的患者用C标记,另一名患者用A和B标记.由于大多数患者有C,因此A和B的分布不可见.所以,我改变了y轴.我用ggplot得到了以下问题:A和B的彩色列显示但是对于C它从图中消失了.我在这里做了一个例子:

library(ggplot2)
# Data set
grp <- rep(c("A","B","C"), c(10,10,80))
year <- floor(runif(100)*10/3)
df <- data.frame(grp,year)
# Plot
ggplot(df,aes(year)) +  
   geom_histogram(aes(fill=grp),position="fill") +
   scale_y_continuous(lim=c(0,0.5))
Run Code Online (Sandbox Code Playgroud)

如果我删除最后一行(scale_y ...),那么我得到从0到1的整个范围,并显示所有级别(颜色).使用scale_y ..级别(颜色)C消失,只有灰色背景可见.有谁知道我怎么能避免C的颜色消失?谢谢你的提示.

r ggplot2

4
推荐指数
1
解决办法
472
查看次数

MySQL - 组内计数器

我想根据升序变量为组中的每一行添加一个计数器。我有一个解决方案,但如果组内的某些变量相等,它就不起作用:

CREATE TABLE tb (
g CHAR(1)
, x  INTEGER
);

INSERT INTO tb (g, x)
VALUES
('a',1)
, ('a',2)
, ('a',10)
, ('b',1)
, ('b',1)
, ('b',10)
;

SELECT g,x, (SELECT COUNT(*)
           FROM tb b
           WHERE a.g = b.g
                 AND a.x > b.x
           ) + 1 AS counter
FROM tb a
;    
Run Code Online (Sandbox Code Playgroud)

我得到的是:

--------------------
| g | x  | counter |
--------------------
| a |  1 |    1    |  
| a |  2 |    2    |  
| a | …
Run Code Online (Sandbox Code Playgroud)

mysql

4
推荐指数
1
解决办法
1429
查看次数

Perl:在这种特殊情况下,哈希不允许使用字母数字键

我通过创建哈希发现了一个奇怪的行为:

perl -e "%x = (1 => 10, p2 => 20); while ( ($k,$v) = each %x ) { print \"key $k value $v\n\";}"
Run Code Online (Sandbox Code Playgroud)

给出以下输出:

key p2 value 20
key 1 value 10
Run Code Online (Sandbox Code Playgroud)

但是,如果我将密钥 p2 更改为 1p2,则会出现错误:

perl -e "%x = (1 => 10, 1p2 => 20); while ( ($k,$v) = each %x ) { print \"key $k value $v\n\";}"
Run Code Online (Sandbox Code Playgroud)

输出是:

syntax error at -e line 1, near "1p2"
Execution of -e aborted due to compilation errors.
Run Code Online (Sandbox Code Playgroud)

为什么会报错?

(Win10,草莓Perl v5.30.0)

perl hash quoting

4
推荐指数
1
解决办法
112
查看次数