R:从两个不同的数值向量创建一个因子';价值观
作为R领域的新手,我被数据操作这个问题所困扰: 我需要创建一个具有4个级别的因子,从到两个数值向量(启用、限制)。后者是因子得分 这4个级别应为:R:从两个不同的数值向量创建一个因子';价值观,r,R,作为R领域的新手,我被数据操作这个问题所困扰: 我需要创建一个具有4个级别的因子,从到两个数值向量(启用、限制)。后者是因子得分 这4个级别应为: 级别1=数据$enable>median(数据$enable)&数据$restrict>median(数据$restrict) 第2级=数据$enable中间值(数据$STRICT) 还有下面两个组合。我也想给这些级别加上标签。 我不知道如何将它嵌套在factor()函数中 有什么帮助吗? 谢谢一个选项是使用嵌套的ifelse with(data
- 级别1=数据$enable>median(数据$enable)&数据$restrict>median(数据$restrict)
- 第2级=数据$enable<中间值(数据$enable)&数据$STRICT>中间值(数据$STRICT)
谢谢一个选项是使用嵌套的
ifelse
with(data,
ifelse(enable > median(enable) & restrict > median(restrict),1,
ifelse(enable < median(enable) & restrict > median(restrict), 2,
ifelse(enable > median(enable) & restrict < median(restrict), 3,
4))))
#[1] 2 4 1 2 3 1 4 3 1 4
数据
set.seed(24)
数据您能分享一个数据示例吗?您需要知道什么?您可以使用描述的所有内容如果其他
数据是机密的,我可以分享一个数据框,其中包含两个需要重新编码为因子的变量。这行得通吗?第一种选择很有效。我刚刚包装成一个新的因素。非常感谢!
library(matrixStats)
factor(do.call(paste0, as.data.frame((data >
colMedians(as.matrix(data))[col(data)])+1L)))
set.seed(24)
data <- data.frame(enable = sample(20, 10, replace=TRUE),
restrict = sample(20, 10, replace=TRUE))