我有一个名为' databasis'的数据框。在R中有以下数据
我正在尝试通过分配表' databasis'的每个百分比值来创建新的data.frame。以下群集表中的一封信。
例如,对于200202年的公司Aa,分配给该百分比的字母将等于C.
表格' databasis'
的代码company <- c("Aa", "Bb", "Cc", "Dd")
sector <- c("B", "A", "E", "Z")
lastmarketcap <- c(18, 4571, 122, 239)
X200202 <- c(0.0833, 0.0002, 0.00, 0.0085)
X200203 <- c(0.2308, 0.00, 0.0083, 0.0042)
X200204 <- c(0.125, 0.0007, 0.00, 0.0084)
databasis <- data.frame(company, sector, lastmarketcap, X200202, X200203, X200204)
提前感谢您的帮助!
答案 0 :(得分:1)
在这里,我们创建一个与图像中最大列对应的中断向量,与成绩列对应的标签,然后将每列切割成带有这些标签的因子。
breaks = c(-Inf,-0.05, 0, 0.05, 0.1, 0.15, 100)
labels = rev(LETTERS[1:6])
f <- function(col) cut(col, breaks = breaks, labels = labels)
new <- data.frame(databasis[1:3], lapply(databasis[-c(1:3)], f))
new
# company sector lastmarketcap X200202 X200203 X200204
# 1 Aa B 18 C A B
# 2 Bb A 4571 D E D
# 3 Cc E 122 E D E
# 4 Dd Z 239 D D D