小编Tom*_*ell的帖子

R ggplot2 - 帮助复制火车图

有人可以帮助我完成解决这个问题的一般方法吗?


我正在尝试使用我自己的一些火车运动数据来复制像这样的(全尺寸)火车图.

在此输入图像描述

该图表看起来像......

  1. 水平轴:时间
  2. 垂直轴:位置
  3. 线路:描绘单列车的路径
  4. 颜色:未在B&W图像中显示,但列车应单独着色

我的数据看起来像这样......

在此输入图像描述

谢谢您的帮助 :)


样本可以像这样再现......

dat <- structure(list(id = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
5L, 5L, 5L, 5L, 5L, 5L, …
Run Code Online (Sandbox Code Playgroud)

visualization r ggplot2

9
推荐指数
1
解决办法
699
查看次数

install.packages错误:解决本地repo使用问题

我刚刚创建了一个package(RTIO)和一个package repository(Q:/Integrated Planning/R),它是一个公司网络驱动器.

我把我的包装到文件夹中:

Q:/Integrated Planning/R/bin/windows/contrib/2.15/RTIO_0.1-2.zip

根据Dirk在 SO中的说明,我运行以下命令:

> setwd("Q:/Integrated Planning/R/bin/windows/contrib/2.15")
> tools::write_PACKAGES(".", type="win.binary")
> list.files()
[1] "PACKAGES"       "PACKAGES.gz"    "RTIO_0.1-2.zip"
>
Run Code Online (Sandbox Code Playgroud)

使用下面的代码,我已将本地存储库添加到我的repos列表中(我将让其他用户也这样做):

options(repos = c(getOption("repos"), RioTintoIronOre = "Q:/Integrated Planning/R"))
Run Code Online (Sandbox Code Playgroud)

现在尝试安装我的包我收到一个错误:

> install.packages("RTIO")
Installing package(s) into ‘C:/Program Files/R/R-2.15.1/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  unable to access index for repository Q:/Integrated Planning/R/bin/windows/contrib/2.15
Warning in install.packages :
  unable to access index for repository Q:/Integrated Planning/R/bin/windows/contrib/2.15
Warning in install.packages :
  unable to access index for repository …
Run Code Online (Sandbox Code Playgroud)

r

7
推荐指数
1
解决办法
5168
查看次数

R Plyr - 从DDPLY订购结果?

有没有人知道一个灵活的方式来订购ddply总结操作的结果?

这就是我正在做的是按降序深度排序输出.

  ddims <- ddply(diamonds, .(color), summarise, depth = mean(depth), table = mean(table))
  ddims <- ddims[order(-ddims$depth),]
Run Code Online (Sandbox Code Playgroud)

随着输出......

> ddims
  color    depth    table
7     J 61.88722 57.81239
6     I 61.84639 57.57728
5     H 61.83685 57.51781
4     G 61.75711 57.28863
1     D 61.69813 57.40459
3     F 61.69458 57.43354
2     E 61.66209 57.49120
Run Code Online (Sandbox Code Playgroud)

不是太难看,但我希望在ddply()中做得很好.谁知道怎么样?

Hadley的ggplot2书有ddply和子集的这个例子,但实际上并没有对输出进行排序,只是选择每组最小的两颗钻石.

ddply(diamonds, .(color), subset, order(carat) <= 2)
Run Code Online (Sandbox Code Playgroud)

r plyr

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

rPython在Mac OSX上使用错误的python安装

我已经在OSX 10.9.4附带的2.7.5旁边安装了python 2.7.8.

现在我怎么能指向rPythonpython 2.7.8?

尝试#1

我已.bash_profile按如下方式修改了OSX ,以指向更新的python安装.

export PATH=/usr/local/Cellar/python/2.7.8/bin/:$PATH:usr/local/bin:
Run Code Online (Sandbox Code Playgroud)

现在,当我从终端运行python时,它正确运行较新的版本

mba:~ tommy$ which python
/usr/local/Cellar/python/2.7.8/bin//python
Run Code Online (Sandbox Code Playgroud)

但是,rPython仍然看到2.7.5.

> library(rPython)
Loading required package: RJSONIO
> python.exec("import sys; print(sys.version)")
2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
Run Code Online (Sandbox Code Playgroud)

尝试#2

它看起来.bash_profile根本不被R使用......所以我试图修改R内的PATH但是仍然没有运气.

> Sys.getenv("PATH")
[1] "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
> Sys.setenv(PATH = "usr/local/Cellar/python/2.7.8/bin")
> library(rPython)
Loading required package: RJSONIO
> python.exec("import sys; print(sys.version)")
2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 …
Run Code Online (Sandbox Code Playgroud)

r rpython

6
推荐指数
2
解决办法
5123
查看次数

Excel/VBA:如何使用正确的字符串格式粘贴SQL查询

我已经写在记事本中一些相当长的SQL查询,然后将其粘贴到我的VBA代码,是再正确格式化多行字符串在每个时间线.例如...

在我的文本编辑器中,查询看起来像这样.

SELECT 
      a,
      b,
      c,
      ...,
      n
FROM
      table1,
      table2,
      ...,
      tableN
WHERE
      etc
Run Code Online (Sandbox Code Playgroud)

然后粘贴到这个VBA编辑器和手动添加sqlStr = sqlStr&"...."到每一行.

sqlStr = "               SELECT "
sqlStr = sqlStr & "          a,"
sqlStr = sqlStr & "          b,"
sqlStr = sqlStr & "          c,"
sqlStr = sqlStr & "          ...,"
sqlStr = sqlStr & "          n"
sqlStr = sqlStr & "      FROM"
sqlStr = sqlStr & "          table1,"
sqlStr = sqlStr & "          table2,"
sqlStr = sqlStr & "          ...,"
sqlStr …
Run Code Online (Sandbox Code Playgroud)

sql string excel vba excel-vba

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

R ggplot2 facetting - 错误:绘图中没有图层

我已经苦苦挣扎了几个小时,但我确信这很简单.

我有一个数据集,您可以通过从底部的混乱中复制和粘贴来重现.

它开始看起来像这样

> head(mydata)
  POSITION W_MEAN T_MEAN W_STDEV T_STDEV COUNT POSCAT
1        1 108.36 109.37    5.02    4.61   117  START
2        2 107.31 109.32    4.50    3.67   167  START
3        3 108.82 109.72    4.62    4.70   162  START
4        4 109.73 111.17    3.90    3.29   154  START
5        5 109.69 111.16    4.31    4.41   163  START
6        6 110.23 111.69    4.71    3.68   159  START
Run Code Online (Sandbox Code Playgroud)

POSCAT是我根据职位分配的类别.1-40 = START,41-120 = MIDDLE,121 + = END.

我已经为整个数据帧使用了很好的直方图

m <- ggplot(mydata, aes(x=T_MEAN))
m + geom_histogram(aes(y = ..density..)) + geom_density() …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

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

R - 为列值的随机样本选择行?

如何为列值的随机样本选择所有行?

我有一个如下所示的数据框:

tag  weight

R007     10
R007     11
R007      9
J102     11
J102      9
J102     13
J102     10
M942      3
M054      9
M054     12  
V671     12
V671     13
V671      9
V671     12
Z990     10
Z990     11
Run Code Online (Sandbox Code Playgroud)

你可以用...复制

weights_df <- structure(list(tag = structure(c(4L, 4L, 4L, 1L, 1L, 1L, 1L, 
3L, 2L, 2L, 5L, 5L, 5L, 5L, 6L, 6L), .Label = c("J102", "M054", 
"M942", "R007", "V671", "Z990"), class = "factor"), value = c(10L, 
11L, 9L, 11L, 9L, 13L, 10L, 3L, 9L, 12L, …
Run Code Online (Sandbox Code Playgroud)

r sample subset

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

在多个数据帧列中重新编码NA

我在数据框中有多个整数列,所有这些都是我需要重新编码为0的NA.

df1 <- as.data.frame(sapply(paste(sample(letters,50,T),sample(letters,10), sep=""), function(x) {sample(c(NA,0:5),10,T)} ))
df2 <- as.data.frame(sapply(paste(sample(letters,5,T),sample(letters,10,T), sep=""), function(x) {sample(letters[1:5],10,T)} ))
df <- cbind(df2,df1)
Run Code Online (Sandbox Code Playgroud)

生成这样的输出...(仅显示55的前几列)

在此输入图像描述

我可以手动将NAs重新编码为0,就像df$col[is.na(df$col)] <- 0每列一样,但鉴于列数太多,需要一段时间才能输出全部.

如何在一行或三行中将所有这些NA重新编码为0?

(我意识到我可以融化整数列,然后重新编码一个熔化的列,但我宁愿在基础R中这样做)

r

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

计算两个日期时间之间的7AM或7PM事件的数量

是否有捷径可寻?完全介于两者之间,我的意思是不要将7am或7pm的日期时间计算为等于开始或结束时间.

我想这可以使用unix时间戳(以秒为单位)和一些代数来完成,但我无法弄明白.

我很高兴在PLSQL或纯SQL中使用某些东西.

例子:

start             end               num_7am_7pm_between_dates
2012-06-16 05:00  2012-06-16 08:00  1  
2012-06-16 16:00  2012-06-16 20:00  1
2012-06-16 05:00  2012-06-16 07:00  0
2012-06-16 07:00  2012-06-16 19:00  0
2012-06-16 08:00  2012-06-16 15:00  0
2012-06-16 05:00  2012-06-16 19:01  2
2012-06-16 05:00  2012-06-18 20:00  6 
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql oracle11g

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

如何将多个工作表导出为CSV(不保存当前工作表)

我正在尝试通过以下代码将我的工作簿中的大量工作表导出到.csv:

Sub Export_To_CSV(exportPath As String)    

    Dim filePath As String 

    For Each WS In ThisWorkbook.Worksheets

            filePath = exportPath & "(" & WS.Name & ").dat"
            WS.SaveAs Filename:=filePath, FileFormat:=xlCSV

    Next 
End Sub
Run Code Online (Sandbox Code Playgroud)

问题是这样可以保存我打开的当前.xlsm文件.

如何在不更改当前文件名的情况下导出.csv?

我认为SaveCopyAs会做的伎俩,但它只适用于a workbook而不是a worksheet.

csv excel vba

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

标签 统计

r ×7

excel ×2

ggplot2 ×2

sql ×2

vba ×2

csv ×1

excel-vba ×1

facet ×1

oracle ×1

oracle11g ×1

plsql ×1

plyr ×1

rpython ×1

sample ×1

string ×1

subset ×1

visualization ×1