我对使用R编程非常陌生,但我正在尝试在多个文件中读取目录并为每个文件指定一个唯一的名称.我正在使用R中的Dendrochronology Program Library(包dpIR)和read.tucson函数读取文件.虽然我正在使用特定的包,但我认为我的问题相当笼统:
在循环中,我想通过将a "t"与每个单独的文件名连接来创建文件.所以,如果我有一个"2503"在我的目录中命名的文件,我想在R中创建一个名为的数据帧"t2503".接下来,我想在r.tucson每个数据帧中使用该函数读取数据.我只是用数据覆盖串联,而不是将读入数据分配给数据帧.有人可以帮我弄清楚我错过了哪一步?
这是我尝试使用的代码:
#set to appropriate directory
setwd("C:/work")
#get a list of files in the directory
files <- list.files()
numfiles <- length(files)
for (i in 1:numfiles)
{
name<-paste("t",files[i],sep="")
name<-read.tucson(files[i],header=NULL)
}
Run Code Online (Sandbox Code Playgroud) 我是R的新手,很难搞清楚这一点.我有关于死树的树木生长率的数据,按年组织.所以,我的第一列是年份,右边的列是单个树木的增长率,在每棵树死亡的那一年结束.树死后,数据集中剩余年份的值为"NA".我需要在每棵树死亡之前的10年内采取平均增长,但每棵树在不同的年份死亡.有没有人知道如何做到这一点?以下是数据集的外观示例:
Year Tree1 Tree2 Tree3
1989 53.00 84.58 102.52
1990 63.68 133.16 146.07
1991 90.37 103.10 233.58
1992 149.24 127.61 245.69
1993 96.20 54.78 417.96
1994 230.64 60.92 125.31
1995 150.81 60.98 100.43
1996 124.25 42.73 75.43
1997 173.42 67.20 50.34
1998 119.60 73.40 32.43
1999 179.97 61.24 NA
2000 114.88 67.43 NA
2001 82.23 55.23 NA
2002 49.40 NA NA
2003 93.46 NA NA
2004 104.67 NA NA
2005 44.14 NA NA
2006 88.40 NA NA
Run Code Online (Sandbox Code Playgroud)
所以,我需要计算的平均值是:
Tree1: mean(1997-2006) …Run Code Online (Sandbox Code Playgroud)