replace()帮助信息非常基本,不包含任何示例。 说我有以下
ages <- sample(40:80, 10, replace = T)
weights <- 100 + ages*.2 + rnorm(10, 0 , 20)
type <- sample(letters[1:3], 10, replace = T)
grouping <- data.frame(ages,weights,type)
可能看起来像
ages weights type
1 49 81.27546 c
2 71 116.50149 c
3 67 152.14525 b
4 45 135.75849 c
5 72 114.35790 a
6 46 110.36591 a
7 40 106.16965 c
8 77 126.09591 c
9 44 107.28003 a
10 69 96.06653 b
我想将第9行中的'type'值从'a'更改为'z'。我已经看过使用以下命令,但都没有工作
replace(grouping$type[9],values = "z")
OR
grouping$type[9] <- z
答案 0 :(得分:2)
你可以通过这个来解决你的问题
levels(grouping$type) <- c(levels(grouping$type), "z") # adding new level "z"
grouping$type[9] <- "z" # changing a to z
答案 1 :(得分:2)
或者您可以通过设置data.frame
character
默认情况下不将您的stringsAsFactors = FALSE
类型变量转换为因子
grouping <- data.frame(ages,weights,type, stringsAsFactors = FALSE)
然后
grouping$type[9] <- "z"
将按预期工作