小编Far*_*rel的帖子

使用ggplot2绘制x轴上的日期和y轴上的时间

我已经阅读了一系列事件发生的37个日期和时间.它现在作为POSIXlt对象.我想要一个图形表示事件发生在每一天的时间.所以x轴应该是日期,y轴应该是一天中的时间.

然后我试着用ggplot2绘制它

qplot(day(dttm), hour(dttm))
Run Code Online (Sandbox Code Playgroud)

这就是我想要的东西,但它没有分钟的分辨率.如何在y轴中包含小时和分钟?

这是一些示例数据

dttm
 [1] "2011-11-16 10:39:20" "2011-11-16 10:56:32" "2011-11-16 11:52:43" "2011-11-16 12:10:42"
 [5] "2011-11-16 13:10:13" "2011-11-16 13:41:10" "2011-11-16 13:48:07" "2011-11-16 14:54:04"
 [9] "2011-11-17 07:05:23" "2011-11-17 07:34:24" "2011-11-17 07:53:01" "2011-11-17 07:57:04"
[13] "2011-11-17 08:09:16" "2011-11-17 08:23:43" "2011-11-17 10:20:54" "2011-11-17 10:45:13"
[17] "2011-11-17 10:49:32" "2011-11-17 11:16:08" "2011-11-17 11:24:05" "2011-11-17 11:50:11"
[21] "2011-11-17 11:52:47" "2011-11-17 11:54:42" "2011-11-17 11:55:25" "2011-11-17 11:57:34"
[25] "2011-11-17 12:06:15" "2011-11-17 12:08:05" "2011-11-17 12:08:33" "2011-11-17 12:30:13"
[29] "2011-11-17 13:24:41" "2011-11-17 13:44:41" "2011-11-17 13:48:55" "2011-11-17 14:59:08"
[33] …
Run Code Online (Sandbox Code Playgroud)

datetime r ggplot2 lubridate

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

当每个记录是一个段落而某些记录有4个字段而其他记录有6个字段时,如何将文本文件读入R.

如何读取文本文件,其中每个记录是一个段落,每个换行符表示单独的字段.复杂的是,有些记录有4行,有些有6行.@DWin在字段数量的差异为1时将我的问题钉在了一起,但是当它为2时它们都崩溃了.你可以在这看看他的答案.

所以这是我对起始文本的最新模拟

TheInstitute 5467
  telephone line 4125526987 x 4567
  datetime 2011110516 12:56
  blay blay blah who knows what, but anyway it may have a comma

TheInstitute 5467
  telephone line 4125526987 x 4567
  datetime 2011110516 12:58
  blay blay blah who knows what

TheInstitute 5467
  telephone line 412552999 x 4999
  bump phone line 4125527777
  bump pony pony oops 4125527777
  datetime 2011110516 12:59
  blay blay blah who knows what

TheInstitute 5467
  telephone line 4125526987 x 4567
  bump phone line 4125527777
  bump …
Run Code Online (Sandbox Code Playgroud)

r

7
推荐指数
2
解决办法
3331
查看次数

如何克服ggplot2中没有抖动或透明度的重叠点

我开始使用ggplot2.我有一些小的n(大约30左右)粒度数据,有很多重叠.抖动和alpha(透明度)都不合适.相反,带有堆栈和偏移的条形图最好,但我不知道如何在ggplot2中执行此操作.你知道吗?

要查看最终结果应该单击此图形.

这是我几年前使用的脚本.

stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
Run Code Online (Sandbox Code Playgroud)

r overlap stripchart ggplot2

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

如何在r中的data.table中评估(或创建)动态列

我想创建一个新的data.table或者只是在data.table中添加一些列.指定多个新列很容易,但如果我希望第三列根据我正在创建的列之一计算值,会发生什么.我认为plyr包可以做一些像这样的事情.我们可以在data.table中执行这样的迭代(顺序)列创建吗?

我想做如下

dt <- data.table(shop = 1:10, income = 10:19*70)
dt[ , list(hope = income * 1.05, hopemore = income * 1.20, hopemorerealistic = hopemore - 100)]  
Run Code Online (Sandbox Code Playgroud)

或者可能

dt[ , `:=`(hope = income*1.05, hopemore = income*1.20, hopemorerealistic = hopemore-100)]
Run Code Online (Sandbox Code Playgroud)

r data.table

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

制作好的列名R.

我使用RODBC从Microsoft Access读取了一个表.一些变量的名称中包含空格.

R没有问题,但我做到了.我找不到如何指定空间

names(alltime)
 [1] "ID"            "LVL7"          "Ref Pv No"     "Ref Pv Name"   "DOS"           "Pt Last Name"  "Pt First Name" "MRN"           "CPT"           "CPT Desc"      "DxCd1"         "DxCd2"         "DxCd3"         "DxCd4"        
[15] "DOE"    
Run Code Online (Sandbox Code Playgroud)

但是,如果我想做这样的事,我该怎么办?

> alltime[grep("MIDDLE EAR EXPLORE",alltime$CPT Desc,]
Error: unexpected symbol in "alltime[grep("MIDDLE EAR EXPLORE",alltime$CPT Desc"
Run Code Online (Sandbox Code Playgroud)

r naming-conventions

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

从R for Windows中消除反斜杠刺激

在我的R生命早期,我发现R和Windows在目录和子目录之间的分隔符时位于不同页面上的痛苦.虽然我知道这个问题,但我还是手动不得不在我的所有反斜杠前放一个反斜杠或用正斜杠替换所有反斜杠.

我喜欢用我在计算机上运行的几个应用程序中的任何一个复制路径名或整个文件名(例如XYPlorer,Everything by voidtools),然后将其粘贴到Tinn-R中.无论如何,我可以自动执行我目前正在手动执行的任务.

  • Tinn-R有设置吗?
  • R中有设置吗?
  • 是否有一个autohotkey脚本可以默认为我做这个?

那些不知道我在说什么的人的背景

从R for Windows FAQ,R-2.9.2版本,BD Ripley和DJ Murdoch引用

R字符串中的反斜杠必须加倍,例如,需要"d:\ R-2.9.2\library\xgobi\scripts\xgobi.bat"'.通过使用正斜杠作为路径分隔符,您可以让自己的生活更轻松:它们可以在Windows下运行

autohotkey r

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

添加多个列,使用多个变量进行转换

如何添加许多变量的值?

如果我只有两个变量(列),我可以简单地去:

summation.variable <- variable1 + variable2
Run Code Online (Sandbox Code Playgroud)

或者如果它全部在数据帧中:

transform(dataframe, summation.col = column1 + column2)
Run Code Online (Sandbox Code Playgroud)

如果我有大约10个变量并且我不想像col1 + col2 + col3 + col4那样输入每个变量,我该怎么做呢.更糟糕的是,我的列有很长的名称,有时我使用的确切列可能会改变.我有一个包含所有相关列名的字符向量,但无法思考如何使用它.

以下内容毫无用处,因为它会在每一行的每一列中添加每个值,并为整个批次提供单个值.

sum(metrics)
Run Code Online (Sandbox Code Playgroud)

r

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

如何在数据框的每一行上执行一个函数,并将该输出的一个元素作为该行中的新列插入

很容易对两个值进行精确二项式测试,但如果想要对一大堆成功和试验次数进行测试会发生什么.我创建了一个测试灵敏度的数据框,一个研究中潜在的参与者数量,然后我计算了每一行的成功程度.这是代码.

sens <-seq(from=.1, to=.5, by=0.05)
enroll <-seq(from=20, to=200, by=20)
df <-expand.grid(sens=sens,enroll=enroll)
df <-transform(df,succes=sens*enroll)
Run Code Online (Sandbox Code Playgroud)

但是现在我如何使用每一行的成功和试验次数组合来进行二项式测试.

我只对二项式检验的95%置信区间的上限感兴趣.我希望将该单个数字作为名为"upper.limit"的列添加到数据框中

我想到了一些类似的东西

binom.test(succes,enroll)$conf.int    
Run Code Online (Sandbox Code Playgroud)

唉,conf.int给出了诸如此类的东西

[1] 0.1266556 0.2918427
attr(,"conf.level")
[1] 0.95

我想要的只是0.2918427

此外,我有一种感觉,那里必须有.call,甚至可能是一个lapply,但我不知道这将如何贯穿整个数据框架.或者我应该使用plyr?

显然我的头在旋转.请停止.

row r

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

当 x 轴是分类的时,如何标记水平线?

有一个工作示例展示了如何使用 ggplot2 在 R 中标记一条直线。请查看示例 5 -“按经度重新创建以下航班量图”。

如果 x 轴是分类的而不是连续的,你如何编码?如何在 geom_text 中编写当前的语法部分

data = data.frame(x = - 119, y = 0) 
Run Code Online (Sandbox Code Playgroud)

我创建了一条线

 + geom_text(aes(x,y, label = "seronegative"), 
             data = data.frame(x = 1, y = 20), 
             size = 4, hjust = 0, vjust = 0, angle = 0)
Run Code Online (Sandbox Code Playgroud)

我尝试了几种选择

data = data.frame(x = 1, y = 20)
data = data.frame(x = factor(1), y = 20)
#where gard is the name of one of the categories
data = data.frame(x = …
Run Code Online (Sandbox Code Playgroud)

label r ggplot2

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

当数据不在表格中时,如何将文本文件读入R.

我有一个很长的电话日志作为文本文件,我试图将其读入R但是它确实没有用.文本有一个结构,但肯定不是一个表.其结构如下

  1. 每条记录由多行组成,因此readLines不太合适
  2. 每条记录的每一行都是一个单独的字段
  3. 某些记录在第二个字段后面有一个附加字段
  4. 每个新记录都以空行标注.readLines或者scan如果可以指定记录由"\n \n"分隔并且字段(或列)由"\n"分隔,则可以工作

这是一个例子:

TheInstitute 5467
  telephone line 4125526987 x 4567
  datetime 2011110516 12:56
  blay blay blah who knows what, but anyway it may have a comma

TheInstitute 5467
  telephone line 4125526987 x 4567
  datetime 2011110516 12:58
  blay blay blah who knows what

TheInstitute 5467
  telephone line 412552999 x 4999
  bump phone line 4125527777
  datetime 2011110516 12:59
  blay blay blah who knows what

TheInstitute 5467
  telephone line 4125526987 x 4567
  bump phone line …
Run Code Online (Sandbox Code Playgroud)

r

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