r - 按字符串对数据帧字符串进行排序

标签 r

我有一个包含多行的数据框,这些行都是这种格式的对

41,25
25,41
23,41
41,23

我只想要不同的对,顺序无关紧要。 因此,例如数据框应该看起来像这样

41,25
41,25
41,23
41,23

所以我可以数出组合 41 和 25 出现了多少次。

所以我想遍历整个数据帧并对每个字符串进行排序,以便最高值排在第一位。(或最低值,无关紧要)。

希望对您有所帮助。我猜这很简单,但想不通。

谢谢

最佳答案

如果 d 是您的 data.frame 并且这些对是一列中的字符串,那么

d[, 1] <- sapply(strsplit(d[, 1], ','), function(x) paste(sort(x), collapse=','))

如果这些对被分成两列,比如第 1 列和第 2 列,那么

d[, 1:2] <- t(apply(apply(d[, 1:2], 1, identity), 2, sort))

关于r - 按字符串对数据帧字符串进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695139/

相关文章:

r - DT [!(x ==。)]和DT [x!=。]不一致地对待x中的NA

r - R 中的 tidyverse VS dplyr - 处理能力/性能

r - 在ggplot2中着色箱线图异常点?

r - 如何使用 r 识别给定数据的分布

python - R 包 teradatasql dbGetQuery 永远返回更大的数据,而 python 工作得非常快

R - 计数一个字符串和另一个字符串的字符之间的匹配,没有替换

r - 如何更改ggplot对象中所有文本相对于当前值的字体大小?

r - 如何在ggplot中标记堆叠的直方图

r - 合并数据帧以使用 plyr 绘制多个时间序列

r - 我在训练神经网络时收到错误 "Error in nnet.default(x, y, w, ...) : too many (77031) weights"