R 如何从数字代码在新列中返回结果

R 如何从数字代码在新列中返回结果,r,R,我确实有一个现有的列,其中只包含与天气代码相对应的数字,这些数字对应于一种降水类型,并且可以分组,例如80到82=雨,86到90=雪等。现在,我想在一个新的列中根据这些代码返回降水类型雨,雪 我知道这是一个非常新的问题,但我在R方面完全是一个初学者,所以请救救我: 提前谢谢 我已经创建了一些与同一类型降水有关的数值分组: x<-50:67 y<-80:82 a<-68:69 b<-83:84 c<-70:79 d<-85:86 e<-36:39 然后我

我确实有一个现有的列,其中只包含与天气代码相对应的数字,这些数字对应于一种降水类型,并且可以分组,例如80到82=雨,86到90=雪等。现在,我想在一个新的列中根据这些代码返回降水类型雨,雪

我知道这是一个非常新的问题,但我在R方面完全是一个初学者,所以请救救我:

提前谢谢

我已经创建了一些与同一类型降水有关的数值分组:

x<-50:67
y<-80:82
a<-68:69
b<-83:84
c<-70:79
d<-85:86
e<-36:39
然后我尝试将这些值链接到文本…但不确定我是否正确:

type_list <- list(x = "rain", y = "rain", a = "mixed",b = "mixed",c = "snow", d ="snow")
为什么不呢

x <- 50:67
y <- 80:82
a <- 68:69
b <- 83:84
c <- 70:79
d <- 85:86
e <- 36:39

v[v %in% c(x, y)] <- "rain"
v[v %in% c(a, b)] <- "mixed"
v[v %in% c(c, d)] <- "snow"
v[v %in% e] <- "unknown"
v

 [1] "rain"    "unknown" "snow"    "rain"    "rain"    "rain"    "mixed"  
 [8] "rain"    "rain"    "snow"    "rain"    "rain"    "snow"    "unknown"
[15] "snow"    "snow"    "snow"    "rain"    "rain"    "snow"    "rain"   
[22] "rain"    "snow"    "snow"    "snow"    "unknown" "snow"    "mixed"  
[29] "snow"    "rain"    "rain"    "rain"    "rain"    "unknown" "rain"   
[36] "rain"    "snow"    "rain"    "unknown" "snow"    "rain"    "mixed"  
[43] "mixed"   "snow"    "rain"    "rain"    "unknown" "unknown" "rain"   
[50] "unknown"
数据
您想要什么作为输出。不太清楚你想做什么嘿,所以我尝试用文本snow,rain来创建一个新列,而不是用相应的数字。所以你有一个带有值的列,你想把它们映射到它们的类别,对吗?是的,没错,另一个选项是?用e剪切好了。但是我不确定他们的数据集中是否有这些字母。我认为这是一个有价值的专栏。OP必须澄清是的,它是一个带有值的列
d <- within(d, {
  v[v %in% c(x, y)] <- "rain"
  v[v %in% c(a, b)] <- "mixed"
  v[v %in% c(c, d)] <- "snow"
  v[v %in% e] <- "unknown"
})
head(d)
#         v           x
# 1    rain -1.07816937
# 2 unknown -0.05166311
# 3    snow  0.58092897
# 4    rain -0.31734752
# 5    rain -2.95357980
# 6    rain -1.00310455
set.seed(42)
v <- sample(sort(c(x, y, a, b, c, d, e)), 50, replace=TRUE)
d <- data.frame(v, x=rnorm(50))