我有以.log扩展名保存的数据。该文件的内容如下所示:
Trajectory Log File
Date: Sun Mar 04 15:32:29 2018
Nr of Trajectories: 91
Trajectory-Mode: ON
Average Slope (Degrees): 28.05 / 51.99 / 64.83
Filename: test_tschamut_Pos1.xml
Z-offset: 1.32000
Rock Position X: 696621.38
Rock Position Y: 167730.02
Rock Position Z: 1679.6400
Friction:
Overall Type: Medium
t (s) x (m) y (m) z (m) p0 () p1 () p2 () p3 () vx (m s-1) vy (m s-1) vz (m s-1) wx (rot s-1) wy (rot s-1) wz (rot s-1) Etot (kJ) Ekin (kJ) Ekintrans (kJ) Ekinrot (kJ) zt (m) Fv (kN) Fh (kN) Slippage (m) mu_s (N s m-1) v_res (m s-1) w_res (rot s-1) JumpH (m) ProjDist (m) Jc () JH_Jc (m) SD (m)
0.000 696621.380 167730.020 1680.960 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1192.526 0.000 0.000 0.000 1677.754 0.000 0.000 0.000 0.350 0.000 0.000 3.206 0.000 0.000 0.000 0.000
0.010 696621.380 167730.020 1680.959 1.000 0.000 -0.000 0.000 0.000 0.000 -0.098 0.000 0.000 0.000 1192.526 0.010 0.010 0.000 1677.754 0.000 0.000 0.000 0.350 0.098 0.000 3.205 0.000 0.000 0.000 0.000
0.020 696621.380 167730.020 1680.958 1.000 0.000 -0.000 0.000 0.000 0.000 -0.196 0.000 0.000 0.000 1192.526 0.039 0.039 0.000 1677.754 0.000 0.000 0.000 0.350 0.196 0.000 3.204 0.000 0.000 0.000 0.000
0.040 696621.380 167730.020 1680.952 1.000 0.000 -0.000 0.000 0.000 0.000 -0.392 0.000 0.000 0.000 1192.526 0.158 0.158 0.000 1677.754 0.000 0.000 0.000 0.350 0.392 0.000 3.198 0.000 0.000 0.000 0.000
0.060 696621.380 167730.020 1680.942 1.000 0.000 -0.000 0.000 0.000 0.000 -0.589 0.000 0.000 0.000 1192.526 0.355 0.355 0.000 1677.754 0.000 0.000 0.000 0.350 0.589 0.000 3.188 0.000 0.000 0.000 0.000
0.080 696621.380 167730.020 1680.929 1.000 0.000 -0.000 0.000 0.000 0.000 -0.785 0.000 0.000 0.000 1192.526 0.631 0.631 0.000 1677.754 0.000 0.000 0.000 0.350 0.785 0.000 3.175 0.000 0.000 0.000 0.000
0.110 696621.380 167730.020 1680.901 1.000 0.000 -0.000 0.000 0.000 0.000 -1.079 0.000 0.000 0.000 1192.526 1.193 1.193 0.000 1677.754 0.000 0.000 0.000 0.350 1.079 0.000 3.147 0.000 0.000 0.000 0.000
0.130 696621.380 167730.020 1680.877 1.000 0.000 -0.000 0.000 0.000 0.000 -1.275 0.000 0.000 0.000 1192.526 1.666 1.666 0.000 1677.754 0.000 0.000 0.000 0.350 1.275 0.000 3.123 0.000 0.000 0.000 0.000
0.150 696621.380 167730.020 1680.850 1.000 0.000 -0.000 0.000 0.000 0.000 -1.472 0.000 0.000 0.000 1192.526 2.218 2.218 0.000 1677.754 0.000 0.000 0.000 0.350 1.472 0.000 3.096 0.000 0.000 0.000 0.000
0.160 696621.380 167730.020 1680.834 1.000 0.000 -0.000 0.000 0.000 0.000 -1.570 0.000 0.000 0.000 1192.526 2.523 2.523 0.000 1677.754 0.000 0.000 0.000 0.350 1.570 0.000 3.080 0.000 0.000 0.000 0.000
0.180
如何在R中导入此数据格式? 是否可以同时导入此格式的许多文件?
谢谢!
答案 0 :(得分:0)
您可以使用read.table
或read.fwf
和skip=N
阅读表格部分(其中N是表格标题前面的行数)。然后,您可以使用N
阅读第一个readLines
行,并提取您需要的部分。
为了导出许多具有相同格式的文件,我建议你先编写一个结合所有步骤的函数,如下所示:
read.log <- function(filename){
first <- readLines(filename, 10)
date <- sub("Date: ", "", first[2]) # get date from second row
date <- as.POSIXct(date, format="?strptime") # convert to date
# use ?strptime to see how to specify date format
# .... likewise for other pieces eg. nr. of trajectories
second <- read.table(filename, skip = 10) # some other no. instead of 10
R <- list(data=second, date=date, otherstuff = otherstuff, ...)
# return as a list
R
}
现在您可以使用此功能读入任何文件,或将其应用于文件名列表(使用lapply
或for
循环)。