- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试使用 Hmisc
巧妙地切割数据包,如下例所示:
dummy <- data.frame(important_variable=seq(1:1000))
require(Hmisc)
dummy$cuts <- cut2(dummy$important_variable, g = 4)
产生的切割在值方面是正确的:
important_variable cuts
1 1 [ 1, 251)
2 2 [ 1, 251)
3 3 [ 1, 251)
4 4 [ 1, 251)
5 5 [ 1, 251)
6 6 [ 1, 251)
> table(dummy$cuts)
[ 1, 251) [251, 501) [501, 751) [751,1000]
250 250 250 250
但是,我希望数据的呈现方式略有不同。例如代替
[ 1, 251 )
[ 251, 501 )
我更喜欢符号
1 - 250
251 - 500
由于我在多个变量上做了很多这样的工作,所以我对可轻松应用于多个变量的可重现解决方案很感兴趣。
根据评论中的讨论,解决方案必须处理更多困惑 变量,例如 x2 <- runif(100, 5.0, 7.5)
.
最佳答案
我们可以使用 gsubfn
来删除括号并通过从第二组数字中减去一个来更改数字部分
library(gsubfn)
v1 <- dummy$cuts
v1New <- gsubfn('\\[\\s*(\\d+),\\s*(\\d+)[^0-9]+', ~paste0(x, '-',
as.numeric(y)-1), as.character(v1))
table(v1New)
# 1-250 251-500 501-750 751-999
# 250 250 250 250
对于涉及小数的第二种情况,我们需要将数字与小数进行匹配,并通过将它们放在括号中来捕获这些组 (([0-9.]+)
, (\\d+\\.\\d+)
).我们通过转换为“数字”并从中减去 0.01 (as.numeric(y)-0.01
) 来更改第二组捕获组。 \\s*
表示 0 个或多个空格。空格在格式上不均匀,所以我们不得不使用它而不是 \\s+
,它是 1 个或多个空格。
v2New <- gsubfn('\\[\\s*([0-9.]+),(\\d+\\.\\d+).*', ~paste0(x,
'-',as.numeric(y)-0.01), as.character(v2))
table(v2New)
v2New
#5.00-5.59 5.60-6.12 6.13-6.71 6.72-7.49
# 25 25 25 25
set.seed(24)
x2 <- runif(100, 5.0, 7.5)
v2 <- cut2(x2, g=4)
关于r - 使用 cut2 在 Hmisc 中获得漂亮的切割(没有 [ ) 符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771810/
刚开始使用 R 并试图弄清楚在创建“汇总表”时什么能满足我的需求。我习惯了 SPSS 中的自定义表格,gmodels 包中的 CrossTable 功能让我几乎可以到达我需要的地方;更不用说它对于刚开
我需要使用 Hmisc 包将表格中的标题旋转 90 度。我尝试更改“colnamesTexCmd”命令,但列标题没有任何变化。 下面是我的问题的可重现示例 --- title: "" author:
像往常一样,我得到了一些 SPSS 文件,并使用 Hmisc 包中的 spss.get 函数将其导入到 R 中。我对 Hmisc::spss.get 添加到 data.frame 中所有变量的 lab
首先,我会告诉你我正在尝试做大局,以防万一我做错了。我有一个嵌套表,我想使用 knit 将其作为 RStudio 中的 LaTeX 表输出。在我尝试添加标题之前我很好。我尝试了 tables vign
我一直在尝试学习使用 Hmisc 包中的 summary() 函数来生成包含卡方检验的交叉表。在这个委员会的帮助下,我快要成功了。我只是不知道如何获取行百分比而不是列百分比。 #Data: v1 1
我正在尝试从 this file 中获取带有百分比的交叉表使用 Hmisc .但为什么是summary()从变量 OCCUPATION 中删除类别(“OTHERS”)? library(Hmisc)
是否有一种简单的方法可以使用 Hmisc R 库中的 method="reverse" 来处理 summary.formula 返回的传统四分位数?我想为我的每个连续变量获取均值/标准差 + 最小值/
describe(letters[1:19]) 输出频率表,但 describe(letters[1:20]) 不输出。我尝试设置 listunique=10^7 和 listnchar=0 但这没有
我正在使用 r 3.3.3、dplyr 0.7.4 和 Hmisc 4.1-1。我注意到加载包的顺序会影响 dplyr::summaries 函数是否工作。我知道以不同的顺序加载包会屏蔽某些函数,但我
我试图通过使用 Hmisc 的 cut2 来计算向量的等分位数切割。 library(Hmisc) c prop.table(table(cut2(c, g=3) ) ) [-4.18,-2.019
该行为涉及 3 个包:Hmisc , psych和 mediation .加载包后 psych和 mediation函数[.describe来自 Hmisc ,但是没有冲突,也没有加载这个包。为什么以
我如何使用 Hmisc的 latex获得一张像...... Group 1 Group 2 d n be
我如何从 Hmisc 中获取摘要的输出,并以正确的格式在 knitr 中呈现,并最好将其传输到 word 作为协作者的表格? 下面的 block 生成了一个表格,但格式是关闭的(变量的所有值标签和数字
我有一根标有 Hmisc R 包的色谱柱。列的类是 c("labelled", "numeric")。如果我计算整个列的 median(),返回的中位数仍然是 c("labelled", "numer
我正在尝试在由组分隔的标题下方设置列标题和水平线。当我执行以下操作时,它会起作用, library(Hmisc) data(mtcars) latex(mtcars, file ='', cgroup
我在加载和运行Hmisc软件包时遇到问题。安装它时,出现以下错误; library(Hmisc) Loading required package: lattice Loading required
我正在使用 xYplot 绘制带有误差线的回归结果。但是,xYplot 仅绘制水平误差线,我需要垂直误差线。四处寻找解决方案,我发现 this thread 有人问了大致相同的问题。经过一些消息后,提
我正在使用这个: latex(data, cgroup=c("sample1", "sample2"), n.cgroup=c(2,2), file="") 生成一个 tex 表。 输出看起来像这样:
我在 R 中有一个数据框,不幸的是其中包含包含美元符号的字符串。当函数 latex() 来自包 Hmisc将此数据框转换为 LaTeX 表格,美元符号未转义。这使 LaTeX 无法编译。 Hmisc
我在 R 中有一个数据框,不幸的是其中包含包含美元符号的字符串。当函数 latex() 来自包 Hmisc将此数据框转换为 LaTeX 表格,美元符号未转义。这使 LaTeX 无法编译。 Hmisc
我是一名优秀的程序员,十分优秀!