小编Jaa*_*aap的帖子

data.table中的函数参数

我正在尝试计算数据表中每列的标准统计大小(即方差),可以通过以下方式创建:

library(data.table)
x <- rnorm(10)
y <- rnorm(10)
z <- rnorm(10)
dt <- data.table(x, y, z)
dt[,lapply(.SD, var)]
Run Code Online (Sandbox Code Playgroud)

而且效果很好.但是,如果我的数据表中有NA,我想使用函数参数,如:

dt[,lapply(.SD, var(na.rm = T))]
Run Code Online (Sandbox Code Playgroud)

现在我收到错误:

Error in match.fun(FUN) : 
  'var(x = dt, na.rm = T)' is not a function, character or symbol
Run Code Online (Sandbox Code Playgroud)

我无法想出这个解决方案.有谁知道如何处理这个问题?

r data.table

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

查找和总和值> 0的范围,这些值不会被特定的零数量中断

我有一个CSV文件存储降水数据,以每天毫米为单位,超过80年,如下所示:

19980720;0
19980721;5.1
19980722;2
19980723;21.1
19980724;3.4
19980725;0
19980726;0
19980727;1.2
19980728;0.2
19980729;0
19980730;0
19980731;0
19980801;2
19980802;5.6
19980803;10
19980804;15
19980805;14.6
19980806;13
19980807;0
19980808;0
Run Code Online (Sandbox Code Playgroud)

我已经在R中加载了数据.现在我想找到连续下雨的时期.为此,我想到了总结至少两天没有降雨的天数降雨.

我怎样才能找到那些时期?

编辑:对于示例数据,输出可能是这样的:

60.2
31.6
1.4
Run Code Online (Sandbox Code Playgroud)

这是我的例子中连续下雨的三个时期的汇总和排序值.也许可以在特定事件发生时添加开始和/或结束日期:

19980801 19980806 60.2
19980721 19980724 31.6
19980727 19980728 1.4
Run Code Online (Sandbox Code Playgroud)

r

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

从对象列表中,获取其名称的字符向量

我有一个函数,它将函数列表作为参数.

library(moments)
library(plyr)
tests <- list(mean, varience, skewness, kurtosis)
f <- function(X, tests){
  out   <- each(... = tests)(X)   #each from plyr
  names(out) <- GetNames(tests)
  out
}
Run Code Online (Sandbox Code Playgroud)

我想GetNames获取对象列表,在本例中为函数,并将对象的名称作为文本返回.理想情况下,我想GetNames使用任何命名对象列表:

> GetNames(tests)
[1] "mean"     "varience" "skewness" "kurtosis"
Run Code Online (Sandbox Code Playgroud)

as.character(tests) 返回每个函数的代码文本,而不是它们的名称.

我试过了:

GN <- function(X) deparse(substitute(X))
GetNames <- function(X) lapply(tests, GN)
GetNames(tests)
Run Code Online (Sandbox Code Playgroud)

但这回归:

[[1]]
[1] "X[[i]]"

[[2]]
[1] "X[[i]]"

[[3]]
[1] "X[[i]]"

[[4]]
[1] "X[[i]]"
Run Code Online (Sandbox Code Playgroud)

在编写R代码时,我经常遇到这个问题的一些版本.我想要一个函数来评估它的参数的一些步骤,这里从tests它的对象的名称开始一步,然后停止并让我对结果做一些事情,这里将它们转换为字符串,而不是继续得到所指的对象我可以抓住它们之前的名字(名字).

evaluation scope r names substitution

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

如何在R中将dd / mm / yy转换为yyyy-mm-dd

我有一个日期格式为dd / mm / yy的向量,例如(16/06/27)。我想将此格式转换为yyyy-mm-dd eg(2016-06-27)进行逻辑比较。我正在使用此表达式:

as.Date(as.character("27/06/16"), format = "%d")
Run Code Online (Sandbox Code Playgroud)

输出结果为:

"2016-07-27"
Run Code Online (Sandbox Code Playgroud)

如何将其转换为所需的格式。

r

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

如何从年和月减去月份

我想从年份和月份格式中减去给定日期的月份.

global_date = "2017-01"
Run Code Online (Sandbox Code Playgroud)

我正在使用zoo库将其转换如下:

as.yearmon(global_date) - 0.1
Run Code Online (Sandbox Code Playgroud)

但它给了我2016年11月,我希望它为'201612'

我怎么能在R?

r zoo

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

将键值列表转换为数据帧

我在R中有一个名为country的键/值列表:

print(country)
$CAM
[1] 5

$TJK
[1] 1

$SEN
[1] 7
Run Code Online (Sandbox Code Playgroud)

关键是一个国家的名称和价值是这个国家的出现.

我想将此列表转换为数据帧,如:

  country  occurence
0 CAM      5
0 TJK      1
0 SEN      7
Run Code Online (Sandbox Code Playgroud)

感谢致敬

r list dataframe

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

绘制条形图以使用ggplot2包比较两组数据?

构建条形图以比较两组数据的最佳方法是什么?

例如数据集:

Number <- c(1,2,3,4)
Yresult <- c(1233,223,2223,4455)
Xresult <- c(1223,334,4421,0)
nyx <- data.frame(Number, Yresult, Xresult)
Run Code Online (Sandbox Code Playgroud)

我想要的是横跨X的数字和彼此相邻的条形,代表各个X和Y值

r bar-chart ggplot2

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

使用两个条件子集数据框

例如,我有一个数据框cars,我想创建一个数据框架汽车的子集,其实例为cars$speed>18cars$dist<76.

newdf <- cars[c(cars$speed>18,cars$dist<76),]
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个时,我得到了这个结果:

       speed dist
36       19   36
37       19   46
38       19   68
39       20   32
40       20   48
41       20   52
42       20   56
43       20   64
44       22   66
45       23   54
46       24   70
47       24   92
48       24   93
49       24  120
50       25   85
NA       NA   NA
NA.1     NA   NA
NA.2     NA   NA
NA.3     NA   NA
.
.
.
NA.41    NA   NA
NA.42    NA   NA
Run Code Online (Sandbox Code Playgroud)

怎么可以避免得到这个NAs?甚至这是创建具有2个条件的子集的正确方法?

r

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

如何在绘图上显示直方图上每个bin的计数

我想出了如何从ggplot获取每个bin的计数,是否有人知道如何在图上显示这些数字?

g <- ggplot()+geom_histogram()
ggplot_build(g)$data[[1]]$count
Run Code Online (Sandbox Code Playgroud)

r histogram ggplot2

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

在R中更改列年份

我有一个excel文件,在日期栏中显示从2015年1月1日到12月31日.我想将所有15(年)更改为14,以便所有日期看起来像2014年1月1日到12月31日.如何在R中做到这一点?现在我只是使用替换功能手动更改日期.但是还有15万多条记录....

r date

-3
推荐指数
2
解决办法
783
查看次数

标签 统计

r ×10

ggplot2 ×2

bar-chart ×1

data.table ×1

dataframe ×1

date ×1

evaluation ×1

histogram ×1

list ×1

names ×1

scope ×1

substitution ×1

zoo ×1