小编ZMa*_*zzi的帖子

如何在包含因子的多个列中查找最常用的值

我对R来说还是比较新的,如果我的问题看起来太基础,请提前道歉.

我的问题如下:

我有一个包含几个因子变量的数据集,它们具有相同的类别.我需要找到这个类别,这个类别最常出现在因子变量的每个观察中.在关系的情况下,可以选择任意值,尽管如果我可以对其进行更多控制则会很好.

我的数据集包含一百多个因素.但是,结构是这样的:

id <- 1:3
var1 <- c("red","yellow","green")
var2 <- c("red","yellow","green")
var3 <- c("yellow","orange","green")
var4 <- c("orange","green","yellow")
df <- data.frame(cbind(id, var1, var2, var3, var4))


> df
  id   var1   var2   var3   var4
1  1    red    red yellow orange
2  2 yellow yellow orange  green
3  3  green  green  green yellow
Run Code Online (Sandbox Code Playgroud)

解决方案应该是数据框中的变量,例如var5,它包含每行的最常见类别.它可以是因子或数字向量(如果数据需要首先转换为数字向量)

在这种情况下,我想有这个解决方案:

> df$var5
[1] "red"    "yellow" "green" 
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激!提前致谢!

r mode factors

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

在 R 中连接两行的值

我正在尝试使用类似的格式连接 R 中数据帧中的两行

row1 <- c("A","B","C")
row2 <- c(1:3)
dat <- data.frame(rbind(row1,row2))
dat
     X1 X2 X3
row1  A  B  C
row2  1  2  3
Run Code Online (Sandbox Code Playgroud)

我想要第三排的类型

row3 A-1 B-2 C-3
Run Code Online (Sandbox Code Playgroud)

有人可以帮我使用粘贴功能来做到这一点吗?我一直在尝试以下方法但没有成功:

> paste(dat[1,], dat[2,], sep="-")
[1] "2-1" "2-1" "2-1"
> paste(as.character(dat[1,]), dat[2,], sep="-")
[1] "2-1" "2-1" "2-1"
Run Code Online (Sandbox Code Playgroud)

提前致谢!

r concatenation paste

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

在大型数据集 R 上按 id 检查序列

我需要检查大数据集中的年份值是否连续。

这是数据的样子:

b <- c(2011,2012,2010, 2009:2011, 2013,2015,2017, 2010,2010, 2011)
dat <- data.frame(cbind(a,b))
dat 

   a    b
1  1 2011
2  1 2012
3  1 2010
4  2 2009
5  2 2010
6  2 2011
7  3 2013
8  3 2015
9  3 2017
10 4 2010
11 4 2010
12 5 2011

Run Code Online (Sandbox Code Playgroud)

这是我写的函数。它在小数据集上效果很好。然而,真实的数据集非常大,有 20 万个 id,而且需要很长时间。我该怎么做才能让它更快?


seqyears <- function(id, year, idlist) {
year <- as.numeric(year)
year_values <- year[id==idlist]
year_sorted <- year_values[order(year_values)]
year_diff <- diff(year_sorted)
answer <- unique(year_diff)

if(length(answer)==0) {return("single line")} else …
Run Code Online (Sandbox Code Playgroud)

diff r sequence

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

标签 统计

r ×3

concatenation ×1

diff ×1

factors ×1

mode ×1

paste ×1

sequence ×1