小编Aru*_*run的帖子

R如何知道我没有某种类型的条目

我有一张表,其中一个变量是注册国家.

table(df$reg_country)
Run Code Online (Sandbox Code Playgroud)

收益:

   AR    BR    ES    FR    IT
  123   202   578   642   263
Run Code Online (Sandbox Code Playgroud)

现在,如果我将原始表格分组以排除其中一个国家/地区

df_subset<-subset(df, reg_country!='AR')
table(df_subset$reg_country)
Run Code Online (Sandbox Code Playgroud)

收益:

   AR    BR    ES    FR    IT
    0   202   578   642   263
Run Code Online (Sandbox Code Playgroud)

第二个结果对我来说非常令人惊讶,因为R似乎神奇地知道我已经从AR中删除了条目.

为什么会这样?

它是否会影响第二个数据框(df_subset)的大小?如果"是" - 是否有更有效的方法来进行子集以最小化尺寸?

r subset dataframe

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

在R中按长度排序数字向量

我有两个数字向量,我想他们的观察长度排序,即每个观察出现的次数.

例如:

x <- c("a", "a", "a", "b", "b", "b", "b", "c", "e", "e")
Run Code Online (Sandbox Code Playgroud)

在这里,b发生四次,a三次,e两次和c一次.我希望我的结果符合这个顺序.

ans <- c("b", "b", "b", "b", "a", "a", "a", "e", "e", "c")
Run Code Online (Sandbox Code Playgroud)

我试过这个:

x <- x[order(-length(x))] # and some similar lines.
Run Code Online (Sandbox Code Playgroud)

谢谢

r

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

在数据帧中按因子分割列

假设我有一个这样的数据框:

v1   v2   v3
a    1    a
a    2    b
a    6    c
b    3    a
b    4    b
b    5    c
Run Code Online (Sandbox Code Playgroud)

其中v1是一个因子,v3是一个字符.我想将一些函数应用于数据框,这样v2在v1中拆分,然后包含在数据框中:

v1   v2   v3   v4   v5
a    1    a    1    NA
a    2    b    2    NA
a    6    c    6    NA
b    3    a    NA   3
b    4    b    NA   4
b    5    c    NA   5
Run Code Online (Sandbox Code Playgroud)

我能够解决的解决方案非常复杂.这样做有一种优雅的方式吗?

(注意:v3的存在是因为任何解决方案都需要能够处理数据帧中应该忽略的其他非数字向量的存在.)

split r plyr dataframe

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

是否找到一种有效的方法来计算两个表中的时间间隔集之间的重叠数?

注意:为了方便起见,我使用上一篇文章中的示例数据集。

假设有两个数据集,refmap。他们是:

ref <- data.table(space=rep('nI',3),t1=c(100,300,500),t2=c(150,400,600),id=letters[1:3])

map <- data.table(space=rep('nI',241),t1=seq(0,1200,by=5),t2=seq(5,1205,by=5),res=rnorm(241))
Run Code Online (Sandbox Code Playgroud)

他们看起来像:

> ref
   space t1  t2   id
1:    nI 100 150  a
2:    nI 300 400  b
3:    nI 500 600  c

> map
   space   t1   t2        res
1:    nI    0    5 -0.7082922
2:    nI    5   10  1.8251041
3:    nI   10   15  0.2076552
4:    nI   15   20  0.8047347
5:    nI   20   25  2.3388920
---                           
237:    nI 1180 1185  1.0229284
238:    nI 1185 1190 -0.3657815
239:    nI 1190 1195 …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

在R中,如何按data.table中的特定值排序列?

假设我在data.table中有这样的列:

对不起,我第一次没有具体说明.每个值都属于一个项目代码.代码将重复几次,因为这些项属于一个系列.有些物品有价值a,b,c,有些有a,b,c,d,有些有a,b,有些有b.

 family item value
1  001    01    a
2  001    01    b
3  001    01    c
4  001    02    b
5  001    05    b
6  001    32    a
7  001    32    b
8  001    32    c
9  001    32    d
10 002    01    a
11 002    01    b
12 002    01    c
13 002    32    b
14 002    55    b
Run Code Online (Sandbox Code Playgroud)

如何通过放在b每个项目的前面来订购列?喜欢b,a,c,b,a,c,d,b,a,b.有序列应如下所示: …

r data.table

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

删除每个ID的重复项

假设我的数据框(mydata)中有三个变量:1)id,2)case和3)value.

mydata <- data.frame(id=c(1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4), case=c("a","b","c","c","b","a","b","c","c","a","b","c","c","a","b","c","a"), value=c(1,34,56,23,34,546,34,67,23,65,23,65,23,87,34,321,87))


mydata 
    id case value
1   1    a     1
2   1    b    34
3   1    c    56
4   1    c    23
5   1    b    34
6   2    a   546
7   2    b    34
8   2    c    67
9   2    c    23
10  3    a    65
11  3    b    23
12  3    c    65
13  3    c    23
14  4    a    87
15  4    b    34
16  4    c   321
17  4    a    87
Run Code Online (Sandbox Code Playgroud)

对于每个id,我们可以有类似的"case"字符,它们的值可以相同或不同.所以基本上,如果它们的值相同,我只需要保留一个并删除副本.

那么我的最终数据将是 …

r duplicates dataframe

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

加速ddply

data.frame喜欢这样的:

n  = 50
df = data.frame(group=sample(1:as.integer(n/2),n,replace=T),
                x = runif(n),
                y = runif(n),
                z = runif(n))
df = df[with(df,order(group)),]
Run Code Online (Sandbox Code Playgroud)

我需要做什么,对每个独特的价值group,是制作部分,即其中新列产生xend,yend并且zend,它们是x,y,z该组中的前一个点的值.对于组中的最后一个值,结束将作为组中的第一个点.

我可以通过以下方式执行此操作:

res = ddply(df,"group",function(d){ 
  ixc  = c("x","y","z")
  dfE  = d[,ixc]
  dfE  = rbind(dfE[nrow(dfE),],dfE[1:(nrow(dfE)-1),])
  colnames(dfE) = paste0(ixc,"end")
  cbind(d,dfE)
})
print(head(res))
Run Code Online (Sandbox Code Playgroud)

当它n很小时,这是微不足道的,然而,当n变大时,执行上述操作的时间变得非常重要,是否有更快的方法来执行此操作,也许使用data.table

r plyr data.table

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

堆积的高度相同的条形图

我有一组看起来像这样的数据:

col1  col2   col3   col4     cr
84  88.242  9.833   4.194     A
94  107.571 10.917  3.708     B
188 240.288 16.917  6.333     A
245 371.005 22.333  10.389    A
114 131.599 9.167   4.25      A
71  100.751 8.167   3         B
118 138.543 11.167  4.278     A
162 203.435 14.667  6.444     B
123 152.032 12.167  4.639     B
115 126.945 11.667  5.056     A
125 134.178 10      4.639     B
119 138.926 9.5     4.222     A
106 129.19  9.833   3.833     A
146 162.319 9.833   4.118     A
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用简单的barplot命令绘制数据,但它没有给出我真正想要的图形.我希望生成一个图表,让每个列有10个条形图(每个条形图代表一个范围,例如0-20,20-40等),X …

plot r graph ggplot2

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

更改矢量名称

为了整理我的数据,我使用了以下功能 -

tolower(gsub("\\.","",names(data)))
Run Code Online (Sandbox Code Playgroud)

从长矢量名称中删除大写和点(.) Last.Inquiry.For.Loan

它工作并回馈:lastinquiryforloan.但它并没有坚持下去.当我跑步时summary(data),我会看到所有旧的矢量名称.如何将此更改永久化,以便我更容易进行分析?

r

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

具有预定义统计数据的多个箱图,使用r中的类似格子的图形

我有一个看起来像这样的数据集

 VegType    87MIN   87MAX   87Q25   87Q50   87Q75   96MIN   96MAX   96Q25   96Q50     96Q75 00MIN   00MAX   00Q25   00Q50   00Q75
 1          0.02    0.32    0.11    0.12    0.13    0.02    0.26    0.08    0.09    0.10    0.02    0.28    0.10    0.11    0.12
 2          0.02    0.45    0.12    0.13    0.13    0.02    0.20    0.09    0.10    0.11    0.02    0.26    0.11    0.12    0.12
 3          0.02    0.29    0.13    0.14    0.14    0.02    0.27    0.11    0.11    0.12    0.02    0.26    0.12    0.13    0.13
 4          0.02    0.41    0.13    0.13    0.14    0.02    0.58    0.10    0.11    0.12    0.02    0.34    0.12    0.13 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 lattice boxplot

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

标签 统计

r ×10

data.table ×3

dataframe ×3

ggplot2 ×2

plyr ×2

boxplot ×1

duplicates ×1

graph ×1

lattice ×1

plot ×1

split ×1

subset ×1