我有以下数据框,我使用read.table()
(我在read_data()
中并入了read.table()
,这是我创建的一个函数,如果文件名的写法不适当):通过将参数传递给函数来对子集进行子集
> raw_data <- read_data("n44.txt")
[1] #### Reading txt file ####
> head(raw_data)
subject block trial_num soa target_identity prime_type target_type congruency prime_exposure target_exposure button_pressed rt ac
1 99 1 1 200 82 9 1 9 0 36 1 1253 1
2 99 1 2 102 95 2 1 2 75 36 1 1895 1
3 99 1 3 68 257 2 2 1 75 36 2 1049 1
4 99 1 4 68 62 9 1 9 0 36 1 1732 1
5 99 1 5 34 482 9 3 9 0 36 3 765 1
6 99 1 6 68 63 9 1 9 0 36 1 2027 1
然后我使用raw_data
的early_prep()
功能,我创建中(我只复制功能的相关部分):
early_prep <- function(file_name, keep_rows = NULL, id = NULL){
if (is.null(id)) {
# Stops running the function
stop("~~~~~~~~~~~ id is missing. Please provide name of id column ~~~~~~~~~~~")
}
# Call read_data() function
raw_data <- read_data(file_name)
if (!is.null(keep_rows)) {
raw_data <- raw_data[keep_rows, ]
# Print to console
print("#### Deleting unnecesarry rows in raw_data ####", quote = FALSE)
}
print(dim(raw_data))
print(head(raw_data))
return(raw_data)
}
}
我问题在于raw_data <- raw_data[keep_rows, ]
。 当我进入keep_rows = "raw_data$block > 1"
这就是我得到:
> x1 <- early_prep(file_name = "n44.txt", keep_rows = "raw_data$block > 1", id = "subject")
[1] #### Reading txt file ####
[1] #### Deleting unnecesarry rows in raw_data ####
[1] 1 13
subject block trial_num soa target_identity prime_type target_type congruency prime_exposure target_exposure button_pressed rt ac
NA NA NA NA NA NA NA NA NA NA NA NA NA NA
我怎样才能解决这个问题,因此只会删除我想要的行?
任何帮助,将不胜感激
最佳,
阿亚拉
@VeerendraGadekar。但是,因为我只在'eraly_prep()'内部使用'read_data()',所以如果我尝试你的建议,我会得到以下错误:'子集(raw_data,block> 1):未找到对象'raw_data'错误。我想在'early_prep()'里面使用'read_data()'而不是作为一个独立的函数 – ayalaall