我在列表中有多个数据框,每个数据框代表一个不同的时间序列位置。
当前,每个站数据帧元素都以类似于以下格式的格式存在于列表中:
data.frame(Station1_1 = c(1:365),DayOfYear = 1:365, Temperature = c(rnorm(1:365, mean=10, sd=2)))
data.frame(Station2_1 = c(1:365),DayOfYear = 1:365, Temperature = c(rnorm(1:365, mean=10, sd=2)))
我计划将数据帧合并在一起,但要保留每个数据帧的站号信息(Station1等)。因此,我想将第1列中的每一行重命名为列名,这样我就不必输入各个工作站的名称,脚本将从数据框本身获取该信息。
所需输出的示例为:
data.frame(Station1_1 = c("Station1"),DayOfYear = 1:365,Temperature = c(rnorm(1:365, mean=10, sd=2)) )
如果还可以从每个名称的末尾删除“ _1”,那将是一个奖励吗?
我不确定循环函数是最好的还是是否有其他基本的R函数来做到这一点?
尝试这个:
#Data
df <- data.frame(Station1_1 = c(1:365),DayOfYear = 1:365, Temperature = c(rnorm(1:365, mean=10, sd=2)))
#Code
df$Station1_1 <- sub("_[^_]+$", "", names(df)[1])
输出(某些行):
head(df)
Station1_1 DayOfYear Temperature
1 Station1 1 11.819052
2 Station1 2 11.272291
3 Station1 3 9.711139
4 Station1 4 13.338525
5 Station1 5 9.276242
6 Station1 6 8.631387
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句