【发布时间】:2014-10-12 03:54:12
【问题描述】:
我已经看到很多关于使用 paste 和 paste0 连接 r 中的两个字符串的讨论。但是,这似乎不适用于两个字符串变量。我有一个如下所示的数据框。
series_id year period value footnote_codes
1 LASBS260000000000003 1983 M01 15.1
2 LASBS260000000000003 1983 M02 15.0
3 LASBS260000000000003 1983 M03 14.8
4 LASBS260000000000003 1983 M04 14.6
我希望将年份变量与周期变量结合起来,在数据框中生成一个名为观察的新变量。数据框称为数据,我根据类似查询的研究尝试了以下粘贴命令。
data$obs<-paste0(toString(data$year),toString(data$period))
data$obs<-paste(toString(data$year),toString(data$period),sep="")
这并没有像预期的那样给我预期的取值“1983M01”的单个变量。任何想法将不胜感激。
史蒂夫
【问题讨论】:
-
它给了你什么?
-
你为什么使用
toString?您是否在未致电paste的情况下查看了这些值? -
阿南达,我怕有人问我这个问题。我不确定我得到了什么。数据集很大,当我尝试一个子集(7,000 obs)时,它仍然需要很长时间才能处理。我似乎得到了两组逗号分隔的变量,一组是年,另一组是月。我做了一个 class(data$obs) 调用,它只是在旋转。不管怎样,我得到的都是淹没我的记忆。
-
Richard,我正在从 toString 语句中获取字符向量。年份本身是一个整数,而周期是一个因素。我怀疑一个因素会被视为一个字符串,但我不确定。
-
当我的列不是我认为的那样时,我遇到了类似的奇怪行为,例如,合作者不小心将数据框中的“列”替换为整个其他数据框。不用说,结果是出乎意料的行为
标签: r variables dataframe concatenation