小编Lin*_*pey的帖子

R 创建包含每行最大值的列名的列

我有与这个问题相同的请求:对于每一行返回最大值的列名

但是,我需要包含每行最大值的所有列的名称。如果我每行有两个相同的最大值,上面链接中提供的所有解决方案都会出现问题。

df <- data.frame(V1=c(2,8,1,5 , 6),V2=c(7,3,5, 7 , 3),V3=c(7,6,4, 5, 1))

df
  V1 V2 V3
1  2  7  7
2  8  3  6
3  1  5  4
4  5  7  5
5  6  3  1
Run Code Online (Sandbox Code Playgroud)

现在,我想提取具有最大值的列名。最多作为 df 中的附加列。有点像这样:

> df
  V1 V2 V3  Max
1  2  7  7  V3_V2
2  8  3  6  V1
3  1  5  4  V2
4  5  7  5  V2
5  6  3  1  V1

Run Code Online (Sandbox Code Playgroud)

谢谢你!

r

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

绑定不同长度的数据帧(无cbind,无合并)

我正在尝试相邻显示多个数据帧以比较某些条目。但是,它们的行数不同,我希望每个数据框的顺序完全相同。我尝试使用cbind它,但由于行数不同而不起作用。我曾经merge将两个 dfs 绑定在一起,然后再次合并它们,但是当我这样做时,它们会改变顺序,并且当我总共有超过 5 个 dfs 时,合并两个 dfs 似乎效率很低。

示例:

df <-  data.frame(v=1:5, x=sample(LETTERS[1:5],5))
df 
  v x
1 1 E
2 2 B
3 3 D
4 4 C
5 5 A

df2 <- data.frame(m=7:10, n=sample(LETTERS[6:9],4))
df2
   m n
1  7 G
2  8 I
3  9 F
4 10 H
Run Code Online (Sandbox Code Playgroud)

然后我订购了df2

df2 <- df2[order(df2$m, decreasing = TRUE),]
df2
   m n
4 10 F
3  9 I
2  8 H
1  7 G
Run Code Online (Sandbox Code Playgroud)

预期输出:

  v x …
Run Code Online (Sandbox Code Playgroud)

merge r cbind

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

标签 统计

r ×2

cbind ×1

merge ×1