使用grepl根据R中的字符串输入创建多个数据帧

时间:2017-12-21 12:32:18

标签: r split subset gsub grepl

我试图在给定字符串输入的情况下使用grepl在16个数据帧中分割1个数据帧。这是一个非常简单的数据集,由我在研究中使用的2400个变量组成(不包括此时的实际观察结果)。所以有一列,有2400个类型字符串的观察值(变量)。

这是为了确定每个测量时刻使用的变量。每个测量时刻由变量名称中的特定字符串表示(即“_H1”,“_ H2”,“_ H2_1”等)。

目前我正在使用它:

dataType

这看起来非常低效。有没有办法将它合并为一个功能?而不是必须这样做16次。

编辑:这就是我现在所拥有的:result(每个观察都是一个变量)。我正在做的目的是了解每个测量时刻的变量以及我是否可以将它们相互比较。根据其中的内容接收所有数据帧的列表是我的目标(类似于bind_rows函数,对我来说不起作用)。

小样本的输入:

df <- read_csv("~/SRP/R/variables.csv", col_names = FALSE)

# Subsetting part of df by seperating input "_H2" and later "_H2_1"
df.H2 <- as.data.frame(subset(df, grepl("_H2", df$X1)))
df.H2.1 <- as.data.frame(subset(df.H2, grepl("_H2_1$", df.H2$X1)))

# Removing _H2_1 from the df to be able to compare on variables
df.H2.1 <- as.data.frame(gsub("_H2_1", "", df.H2.1$X1))

# Change the column name
colnames(df.H2.1) <- "Variables"

0 个答案:

没有答案