标签: desctools

计算小数点和第一个非零数字之间的前导零

假设我们有一个数字1.000633,我想计算小数点后的零数,直到分数中的第一个非零数字,答案应该是3.对于0.002,答案应该是2.

R中没有这样的功能可以提供帮助.我已经在包装DescTools中探索了Ndec函数,但它没有完成这项工作.

regex r desctools

27
推荐指数
6
解决办法
1977
查看次数

如何创建空间点网格

library(reshape2)
library(data.table)
library(dplyr)
library(magrittr)
library(ggplot2)
library(scales)
library(gstat)
library(DescTools)
library(sp)



#I want a colorado grid#
data("colorado.grid")

#making cordinates into spatial points dataframe#
coordinates(Gold_tracer_kri) <- ~ long_orig + lat_orig
#attempt at kriging but no grid#
lzn.kriged <- krige(Au ~ 1, Gold_tracer_kri, colorado.grid, model=lzn.fit)

lzn.kriged %>% as.data.frame %>%
ggplot(aes(long_orig=long_orig, lat_orig=lat_orig)) +     geom_tile(aes(fill=var1.pred)) + coord_equal() +
scale_fill_gradient(low = "yellow", high="red") +
scale_x_continuous(labels=comma) + scale_y_continuous(labels=comma) +
theme_bw()
Run Code Online (Sandbox Code Playgroud)

加载空间域以进行插值

data("meuse.grid")
Run Code Online (Sandbox Code Playgroud)

我正在尝试在R中使用克里金方法,但由于无法为我的数据找到网格而被卡住了.我的数据占据了美国所有的科罗拉多州,我希望能够获得一个网格来中断我的数据.与我正在关注的示例中使用的meuse.grid类似.

任何帮助,将不胜感激

r geospatial r-grid desctools

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

R 中变量组的平均值和置信区间

我是 R 新手,我正在尝试做一些我认为应该非常简单的事情,但在线代码没有帮助。

data <- structure(list(Group = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3), 
Time = c(1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2), mean_PctPasses = c(68.26, 
60.2666666666667, 62.05, 66.3833333333333, 59.7333333333333, 
69.7714285714286, 57.1888888888889, 63.8875, 61.1833333333333, 
59.775, 66.2666666666667, 62.12), mean_AvgPassing = c(7.3, 
7.01111111111111, 6.35, 9.26666666666667, 6.68333333333333, 
8.78571428571429, 5.87777777777778, 8.3125, 7.63333333333333, 
7.7, 8.38333333333334, 6.89), mean_AvgRush = c(0.3, -0.3, 
3.5, 0.75, 5, 1.47142857142857, 5.71111111111111, 3.3875, 
2.74, 6.6, 4.5, 5), mean_Int = c(0.2, 0.777777777777778, 
0.25, …
Run Code Online (Sandbox Code Playgroud)

statistics r hmisc desctools

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

在R和Rcpp中找出最大的n个唯一值及其频率

我有一个数字向量v(已经省略了NA),并希望获得第n个最大值及其各自的频率.

我发现 http://gallery.rcpp.org/articles/top-elements-from-vectors-using-priority-queue/ 非常快.

// [[Rcpp::export]]
std::vector<int> top_i_pq(NumericVector v, unsigned int n)
{

typedef pair<double, int> Elt;
priority_queue< Elt, vector<Elt>, greater<Elt> > pq;
vector<int> result;

for (int i = 0; i != v.size(); ++i) {
    if (pq.size() < n)
      pq.push(Elt(v[i], i));
    else {
      Elt elt = Elt(v[i], i);
      if (pq.top() < elt) {
        pq.pop();
        pq.push(elt);
      }
    }
  }

  result.reserve(pq.size());
  while (!pq.empty()) {
    result.push_back(pq.top().second + 1);
    pq.pop();
  }

  return result ;

}
Run Code Online (Sandbox Code Playgroud)

但是,关系不会得到尊重.实际上我不需要索引,返回值也可以.

我想得到的是一个包含值和频率的列表,例如:

numv <- c(4.2, 4.2, 4.5, 0.1, 4.4, …
Run Code Online (Sandbox Code Playgroud)

c++ r rcpp desctools

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

使用`lapply`跨数据框(R)中的所有列进行Winsoring

我正在尝试从包中Winsorize()使用该功能。我现在所拥有的是;lapplylibrary(DescTools)

data$col1 <- Winsorize(data$col1)

它基本上将极值替换为基于分位数的值,并替换以下数据:

> data$col1
 [1]   -0.06775798   **-0.55213508**   -0.12338265
 [4]    0.04928349    **0.47524313**    0.04782829
 [7]   -0.05070639 **-112.67126382**    0.12657896
[10]   -0.12886632

> Winsorize(data$col1)
 [1] -0.06775798 **-0.37884540** -0.12338265  0.04928349
 [5]  **0.26038103**  0.04782829 -0.05070639 **-0.37884540**
 [9]  0.12657896 -0.12886632
Run Code Online (Sandbox Code Playgroud)

我有一个for loop可跨越data.frame的所有列做到这一点col1col2col3col4,但是,我知道lapply是一个更好的选择,所以我想将它合并成一个lapply功能,但似乎无法得到它的工作。如果有人能指出我正确的方向,那将是非常感激的。

数据;

data <- structure(list(EQ.TA = c(-0.0677579847115102, -0.552135083517749, 
-0.123382654164705, 0.0492834931482554, 0.475243125304193, 0.0478282913638668, 
-0.050706389027946, -112.671263815473, 0.126578956975704, -0.128866322940619
), NI.EQ = c(3.64670235329765, 1.66115713369585, 0.209424623633739, 
0.340430636358184, -0.248411254566261, -12.1709277350516, …
Run Code Online (Sandbox Code Playgroud)

r lapply desctools

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

如何根据R中列中的字母和数字字符对象在data.frame中创建新列

我有一个数据框,其中一列填充了这样的数据,在染色体上,然后是基本位置,都在一列中.我用整数填充了剩余的V2到V5列,只是为了模拟类似的data.frame.

> test
             V1 V2 V3 V4 V5
1     I.1286480  9 17 25 33
2     I.1898932 10 18 26 34
3    I.11871397 11 19 27 35
4    II.1252994 12 20 28 36
5   II.18175911 13 21 29 37
6  III.10298347 14 22 30 38
7  IV.123478912 15 23 31 39
8 V.12837471234 16 24 32 40
Run Code Online (Sandbox Code Playgroud)

与以下列中的其他数据.这是一个巨大的数据集,有115,000行.我想制作两个新列,一个包含罗马数字(I,II,III,IV,V),另一列包含罗马数字后面的数字.我遇到的问题是这是一个字符对象的向量,所以我不确定如何解析数字中的字母.我尝试使用DescTools包中的StrPos,但是

> StrPos(test$V1, "I")
[1]  1  1  1  1  1  1  1 NA
> StrPos(test$V1, "I.")
[1]  1  1  1  1  1  1  1 …
Run Code Online (Sandbox Code Playgroud)

substring r strpos desctools

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

计算不一致对的功能不起作用

我试图计算不和谐对的数量.例如:

arg1=c("b","c","a","d")
arg2 = c("b","c","d","a")
Run Code Online (Sandbox Code Playgroud)

上面有1个不一致对(对:"a"和"d")

但是当我跑步时:

require(asbio)
sum(ConDis.matrix(arg1,arg2)==-1,na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)

我收到的答案是:5(而不是正确答案 - 1)

我也尝试过:

require(RankAggreg)
require(DescTools)
xy <- table(arg1,arg2)
cd <- ConDisPairs(xy)
cd$D
Run Code Online (Sandbox Code Playgroud)

答案是5再次.

我错过了什么?

r desctools

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

标签 统计

desctools ×7

r ×7

c++ ×1

geospatial ×1

hmisc ×1

lapply ×1

r-grid ×1

rcpp ×1

regex ×1

statistics ×1

strpos ×1

substring ×1