我有一个名为“data”的数据框:
data <-
x y
green-dog 3
blue-dog 4
red-cat 5
yellow-cat 6
我需要创建一个名为“type”的新变量,如下所示:
data <-
x y type
green-dog 3 dog
blue-dog 4 dog
red-cat 5 cat
yellow-cat 6 cat
答案 0 :(得分:3)
有很多方法可以做到这一点,但如果只有两个类别,这是最简单的方法:
data <- data.frame(
x = c("green-dog", "blue-dog", "red-cat", "yellow-cat"),
y = 3:6)
data$type <- ifelse(grepl("dog", data$x), "dog", "cat")
请注意,正如所写的那样,任何没有“狗”的东西都会成为猫,即使“猫”也不存在。需要考虑的事项:
如果您需要更复杂的内容,我建议您查看stringr
包。
答案 1 :(得分:0)
我们可以使用data$type <- sub(".*-", "", data$x)
data$type
#[1] "dog" "dog" "cat" "cat"
c.mirror.staticClass("com.foo.MyClass")