我想修改变量的值。这些值是连续几年的。它们从1960年开始,到2017年结束。直到2017年,都有多个1960、1961等。每年的多个值对应于不同的国家。国家是另一栏中的另一个变量。但是,每年都用X标记。每个1960都有X1960,依此类推,直到X2017。我想删除所有年份的X。
数据库如下所示
Country Year GDP
Afghanistan X1960
England X1960
Sudan X1960
.
.
.
Afghanistan X2017
England X2017
Sudan X2017
.
.
答案 0 :(得分:1)
您好,您可以对数据框执行gsub功能
ABC <- data.frame(country = c("Afghanistan", "England"), year = c("X1960","X1960"))
print(ABC)
country year
1 Afghanistan X1960
2 England X1960
ABC$year <- gsub("X","",ABC$year)
> print(ABC)
country year
1 Afghanistan 1960
2 England 1960
答案 1 :(得分:0)
这是一个tidyverse
解决方案。
# Load libraries
library(dplyr)
library(readr)
# Dummy data frame
df <- data.frame(country = c("Afghanistan", "England", "Sudan"),
year = rep("X1960", 3),
stringsAsFactors = FALSE)
# Quick peak
print(df)
#> country year
#> 1 Afghanistan X1960
#> 2 England X1960
#> 3 Sudan X1960
# Strip all non-numerics from strings
df %>% mutate(year = parse_number(year))
#> country year
#> 1 Afghanistan 1960
#> 2 England 1960
#> 3 Sudan 1960
由reprex package(v0.2.1)于2019-05-23创建