R 修改数据帧中变量的值

R 修改数据帧中变量的值,r,dataframe,R,Dataframe,我想修改一个变量的值。这些值适用于一系列年份。从1960年开始,到2017年结束。到2017年,有多个60年代、1961年代等。每年的多个值对应于不同的国家。国家是另一列中的另一个变量。然而,每年都有一个X。例如,每个1960年都有X1960,以此类推直到X2017年。我想删除所有年份的X 数据库如下图所示 Country Year GDP Afghanistan X1960 England X1960 Sudan

我想修改一个变量的值。这些值适用于一系列年份。从1960年开始,到2017年结束。到2017年,有多个60年代、1961年代等。每年的多个值对应于不同的国家。国家是另一列中的另一个变量。然而,每年都有一个X。例如,每个1960年都有X1960,以此类推直到X2017年。我想删除所有年份的X

数据库如下图所示

Country           Year      GDP
Afghanistan       X1960
England           X1960
Sudan             X1960
.
.
.
Afghanistan       X2017
England           X2017
Sudan             X2017
.
.

您好,您可以将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

ABC这里有一个
tidyverse
解决方案

#加载库
图书馆(dplyr)
图书馆(readr)
#虚拟数据帧
df国家年
#>1阿富汗X1960
#>2英格兰X1960
#>3苏丹X1960
#从字符串中删除所有非数字
df%>%突变(年=解析数量(年))
#>国家年
#>1阿富汗1960年
#>2英国1960年
#>3苏丹1960年

由(v0.2.1)创建于2019-05-23,假设您的数据帧名为
df
,您可以这样做:
df$Year非常感谢Lyngbakr…这对我来说很有用。。。