我有一堆输出.txt文件,包含一个大参数列表和一个XY坐标集.我需要从所有文件中提取这些坐标,以便只将这些行导入到矢量中.这样可以正常使用
impcoord<-read.table("file.txt",skip= ,nrow= ,...)
Run Code Online (Sandbox Code Playgroud)
但是文件在不同长度的支持参数之后打印坐标集.
幸运的是,坐标总是在包含某些单词的行之后开始.
因此我的问题是,如何在这些单词之后开始阅读.txt文件?让我们说它们是:
coordinatesXY
Run Code Online (Sandbox Code Playgroud)
非常感谢您的时间和帮助!
-Olli
- 编辑 -
对困惑感到抱歉.
该文件的部分如下:
##XYDATA= (X++(Y..Y))
131071 -2065
131070 -4137
131069 -6408
131068 -8043
... ...
... ...
Run Code Online (Sandbox Code Playgroud)
第一行是skip应该结束的行,并且需要将以下坐标导入到向量中.如您所见,X坐标从131071开始并结束为0.
我们data.frame这里有:
df <- data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20),x4=rnorm(20),x5=rnorm(20),x6=rnorm(20),x7=rnorm(20),x8=rnorm(20),x9=rnorm(20),x10=rnorm(20),x11=rnorm(20),x12=rnorm(20),x13=c(2,1,1,2,2,1,2,1,2,2,1,1,2,1,2,2,1,2,1,1))
Run Code Online (Sandbox Code Playgroud)
我知道我可以轻松地查看列名
colnames(df)
[1] "x1" "x2" "x3" "x4" "x5" "x6" "x7" "x8" "x9" "x10" "x11" "x12" "x13"
Run Code Online (Sandbox Code Playgroud)
打印上面的行。
我还可以得到一列的名称colnames(df[...]),为例
colnames(df[2])
[1] "x2"
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何通过colnames()使用列名调用来提取单个列名,例如
colnames(df$x2)
NULL
Run Code Online (Sandbox Code Playgroud)
我敢打赌,解决方案非常简单,但我只是没有找到有关此问题的任何有用信息。
假设我有一个数据框
> col1<-c(1,5,2,6,8,1,3,8,9,1,8)
> col2<-c(1,2,1,1,2,2,1,2,2,1,1)
> df<-data.frame(col1,col2)
> df
col1 col2
1 1 1
2 5 2
3 2 1
4 6 1
5 8 2
6 1 2
7 3 1
8 8 2
9 9 2
10 1 1
11 8 1
Run Code Online (Sandbox Code Playgroud)
我已经用我所拥有的数据进行了 Kruskal-Wallis 测试df
> dfKW<-kruskal.test(col1~col2, data=df)
> dfKW
Kruskal-Wallis rank sum test
data: col1 by col2
Kruskal-Wallis chi-squared = 1.695, df = 1, p-value = 0.1929
Run Code Online (Sandbox Code Playgroud)
我想做的是将 p 值提取到向量中(仅提取没有标签“p 值”的值)。我已经尝试过这个:
> dfKWx<-sapply(dfKW, '[', 'p.value')
> …Run Code Online (Sandbox Code Playgroud)