小编B. *_*vis的帖子

将excel DateTime序列号转换为R DateTime

当excel表在ArcGIS中作为xy点导入时,我继续丢失每个点的正确DateTime标记.因此,我已经格式化了DateTime序列号,创建了.shp,并使用readOGR()将.shp读入R中.

一旦在RI中可以使用as.Date()origin = "1899-12-30"参数转换为正确的日期,但是时间被省略了.虽然我已经看到了具有唯一Date的示例,但我还没有看到DateTime的工作示例.我一直在使用as.Date(),as.POSIXct()但这个看似简单的任务有点令人沮丧,因此帖子......

我创建了一个样本数据集,其中包含10行正确的DateTime格式以及excel序列号.

*感谢Richard和thelatemail对早期障碍的敏锐关注.我已更正数据并在此处重新发布.

这是我的示例数据

helpData <- structure(list(ID = 1:10, DateTime = structure(c(9L, 1L, 2L, 
3L, 4L, 5L, 6L, 7L, 8L, 8L), .Label = c("3/11/2011 7:55", "3/13/2011 7:55", 
"3/14/2011 0:00", "3/14/2011 10:04", "3/14/2011 7:55", "3/15/2011 19:55", 
"3/17/2011 7:55", "3/18/2011 4:04", "3/4/2011 6:00"), class = "factor"), 
ExcelNum = c(40606.25, 40613.32986, 40615.32986, 40616, 40616.41944, 
40616.32986, 40617.82986, 40619.32986, 40620.16944, 40620.16944
)), .Names = c("ID", "DateTime", "ExcelNum"), class = "data.frame", row.names = c(NA, 
-10L)) …
Run Code Online (Sandbox Code Playgroud)

r

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

使用嵌套条件提取data.frame中的行的随机样本

这个问题来自这里发现的SO帖子 ,并使用从R-help邮件列表上的帖子修改的代码,这里可以看到

我试图在数据框中提取行的随机样本,但条件.使用iris看起来像这样的R 数据:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa 
Run Code Online (Sandbox Code Playgroud)

要获取一个简单的随机样本,下面的代码可以正常处理2行样本.

iris[sample(nrow(iris), 2), ]
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何调节Species字段.例如,如何采用如上所述的随机样本,但仅限于Species != “setosa”

有三类 iris$Species

> summary(iris$Species)
    setosa versicolor  virginica 
        50         50         50
Run Code Online (Sandbox Code Playgroud)

我不确定如何正确嵌套条件.我之前的一个尝试是在下面,其中包括明显不正确的结果......

> iris[sample(nrow(iris)[iris$Species != "setosa"], 2), ] …
Run Code Online (Sandbox Code Playgroud)

random r

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

将一列向下移动一列

说我data.frame看起来像这样

 df <- data.frame(AAA = rep(c(NA,sample(1:10, 1)),5),
  BBB = rep(c(NA,sample(1:10, 1)),5),
  CCC = rep(c(sample(1:10, 1),NA),5))

> df 
   AAA BBB CCC
1   NA  NA  10
2    3   7  NA
3   NA  NA  10
4    3   7  NA
5   NA  NA  10
6    3   7  NA
7   NA  NA  10
8    3   7  NA
9   NA  NA  10
10   3   7  NA
Run Code Online (Sandbox Code Playgroud)

我想将列CCC向下移动一个,以便所有数字在一行中对齐,然后删除不包含数据的行(通常每隔一行 - 但不总是 - 模式可能会因此而变化data.frame.

r dataframe

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

将POSIXct日期更改为每周的第一天

我想Dist使用这些数据(下面)计算每周的平均值,同时保留使用POSIXct时间类的好处.

    df <- structure(list(IndID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), class = "factor", .Label = "AAA"), 
    Date = structure(c(1329436800, 1329458400, 1329480000, 1329501600, 
    1329523200, 1329544800, 1329566400, 1329588000, 1329609600, 
    1329631200, 1329652800, 1329674400, 1329696000, …
Run Code Online (Sandbox Code Playgroud)

datetime r lubridate dplyr

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

尝试在多个列表中生成平均值

我在for()循环中填充列表.结果的样本包括在下面.

dta <- list(structure(c(128L, 175L), .Dim = 2L, .Dimnames = structure(list(
    c("0", "1")), .Names = ""), class = "table"), structure(c(132L, 
171L), .Dim = 2L, .Dimnames = structure(list(c("0", "1")), .Names = ""), class = "table"), 
    structure(c(130L, 173L), .Dim = 2L, .Dimnames = structure(list(
        c("0", "1")), .Names = ""), class = "table"), structure(c(133L, 
    170L), .Dim = 2L, .Dimnames = structure(list(c("0", "1")), .Names = ""), class = "table"))
Run Code Online (Sandbox Code Playgroud)

每个列表显示给定数据集的0和1的数量.

> head(dta)
[[1]]

  0   1 
128 175 

[[2]]

  0   1 
132 171 …
Run Code Online (Sandbox Code Playgroud)

r list

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

未指定 aes() 颜色和形状时 ggplot 中的图例

我是 ggplot 的相对新手,并使用此处包含的数据和代码制作了下图\xe2\x80\xa6

\n\n

数据在这里

\n\n
Data <- structure(list(IndID = structure(1:17, .Label = c("AA", "BB", \n"CC", "DD", "EE", "FF", "GG", "HH", "II", "JJ", "KK", "LL", "MM", \n"NN", "OO", "PP", "QQ"), class = "factor"), Avg = c(7.95, 10.483, \n5.951, 7.359, 10.465, 10.745, 14.402, 81.417, 67.087, 4.254, \n34.393, 47.324, 60.713, 75.446, 64.527, 28.779, 54.764), AvgSE = c(1.685, \n2.949, 1.097, 2.607, 4.256, 3.539, 1.702, 3.314, 0.714, 0.302, \n1.154, 1.827, 0.573, 1.292, 1.955, 1.341, 1.949), OBS = c(7.667, \n10, 8, 7.5, 14, 10.333, 12, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

列表中多个数据帧的摘要统计信息

如果我有这个清单

set.seed(123)
thelist <- list(a=data.frame(x1=rnorm(10), x2=rnorm(10)),
                b=data.frame(x1=rnorm(10), x2=rnorm(10)),
                c=data.frame(x1=rnorm(10), x2=rnorm(10)))
Run Code Online (Sandbox Code Playgroud)

并且想要使用以下代码计算每个列表中每列的平均值.

sapply(do.call("rbind",thelist),mean)
Run Code Online (Sandbox Code Playgroud)

我怎样才能为每个列表中的每一列(a:c)计算标准偏差,因为sd没有等效函数(至少据我所知)?

任何建议将不胜感激.

r function list

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

使用R中的get()和paste()从列表中提取项目

我列出了六个人,每个人都有25个号码.这里的数据是通过dput()

data <- structure(list(AAA = structure(c(0.539032790443548, 0.536888048404759, 
0.519687575144773, 0.540104624777809, 0.57386075783306, 0.539805870321112, 
0.538733934351732, 0.530445942604962, 0.521841030809798, 0.541176088266961, 
0.56539960323135, 0.551570726188792, 0.557196928234619, 0.517533387708244, 
0.567518667655521, 0.532295137298835, 0.542247171136739, 0.541948628127994, 
0.533668399132029, 0.546527501435108, 0.529071565146478, 0.575969506937413, 
0.556132191844378, 0.572805370086458, 0.525845566212544), .Dim = c(25L, 
1L)), BBB = structure(c(0.499216657615325, 0.537490952761078, 
0.43385212802169, 0.582152772934407, 0.495717756862187, 0.535025311378272, 
0.43385212802169, 0.607585618769066, 0.51961831826224, 0.477799201847025, 
0.593737672553431, 0.448083953208316, 0.564607973025657, 0.381933810565836, 
0.582152772934407, 0.555267755972877, 0.454004260019714, 0.596126995098342, 
0.469366643373233, 0.489741406245514, 0.39565274890788, 0.523110920308712, 
0.517142992101799, 0.39565274890788, 0.578744364954426), .Dim = c(25L, 
1L)), CCC = structure(c(0.517638997604126, 0.514052704141984, 
0.485341292016175, 0.524805767901646, 0.435170284293271, 0.485341292016175, 
0.481755279544946, 0.506876143514677, 0.421108263752241, 0.488653944275884, 
0.383154152708813, 0.578031931495085, 0.477896667937187, …
Run Code Online (Sandbox Code Playgroud)

r

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

将基本 r 图保存为可以在多重图中绘制的对象

这个问题是从一篇相关文章构建的,该文章展示了如何使用包中的函数轻松地将绘图存储为r对象。伟大的!但是,我现在想创建一个将基本 r 图与 2 个数字相结合的多重图。我在用%<a-%pryrggplotgrid.arrange下面。

使用基本 rcars数据我可以制作两个ggplot数字。

library(ggplot2)
library(pryr)
library(gridExtra)

Fig1 <- qplot(speed, data=cars, geom="histogram")
Fig2 <- qplot(dist, speed, data=cars, geom="point")
Run Code Online (Sandbox Code Playgroud)

然后,我使用 制作一个图形,并使用包中的函数plot将该图形保存为对象。光滑。%<a-%pryr

Fig3 %<a-% plot(cars$speed, cars$dist)
Fig3
Run Code Online (Sandbox Code Playgroud)

最后,我想将这 3 个数字组合成一个图,如下所示。

Figs <- grid.arrange(Fig1, Fig2, Fig3,
                     layout_matrix = rbind(c(1,1,1,2,2), c(1,1,1,2,2), c(3,3,3,3,3)))
Run Code Online (Sandbox Code Playgroud)

该代码产生以下错误:

Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1,  : 
  only 'grobs' allowed in …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 pryr

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

查找具有 NA 值的 POSIXct 日期的最小值或最大值

下面的数据包含单个 ID 的列(具有重复观察)DateFate

         ID       Date  Fate
1  BHS_1149 2017-04-11   MIA
2  BHS_1154       <NA>  <NA>
3  BHS_1155       <NA>  <NA>
4  BHS_1156       <NA>  <NA>
5  BHS_1157       <NA>  Mort
6  BHS_1159 2017-04-11 Alive
7  BHS_1169 2017-04-11 Alive
8  BHS_1259       <NA>  <NA>
9  BHS_1260       <NA>  <NA>
10 BHS_1262 2017-04-11   MIA
11 BHS_1262 2017-07-05 Alive
12 BHS_1262 2017-12-06 Alive
13 BHS_1262 2017-12-06   MIA
14 BHS_1262 2018-01-17  Mort
Run Code Online (Sandbox Code Playgroud)

对于每个 ID,我想创建一个新列来表示活动时的最小值Date或最大值。如果在下面的代码中包含和排除参数,我尝试了不同的组合,但仍然收到以下警告。DateFatena.rm = T

library(tidyverse)
library(lubridate)

dat %>% 
  group_by(ID) …
Run Code Online (Sandbox Code Playgroud)

r max min lubridate dplyr

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

标签 统计

r ×10

dplyr ×2

ggplot2 ×2

list ×2

lubridate ×2

dataframe ×1

datetime ×1

function ×1

max ×1

min ×1

plot ×1

pryr ×1

random ×1