我是R的初学者,并没有找到解决以下问题的方法.任何帮助将非常感激!
我有一个data.frame,并希望用定义的其他值替换列的某些值.
data.frame
date<-c("19921231","19931231","19941231","19941231","19931231","19941231")
variable<-c("a","a","a","b","b","b")
value<-c(1:6)
dataframe <- data.frame(date,variable,value)
Run Code Online (Sandbox Code Playgroud)
试图解决问题
yearend<-c("19921231","19931231","19941231")
year<-c("1992","1993","1994")
map = setNames(yearend,year)
dataframe[] = map[dataframe]
Run Code Online (Sandbox Code Playgroud)
错误信息
Error in map[dataframe] : invalid subscript type 'list'
Run Code Online (Sandbox Code Playgroud)
问题显然是,它不是一个矩阵.解决这个问题最有效的方法是什么?如果我想替换"真实"字符,例如"BGSFDS"和"BASF stock",它也应该有用.
EDi*_*EDi 15
一个很好的功能mapvalues()
来自plyr包:
require(plyr)
dataframe$newdate <- mapvalues(dataframe$date,
from=c("19921231","19931231","19941231"),
to=c("1992","1993","1994"))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9894 次 |
最近记录: |