Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将数据子集为间隔_R_Dataframe - Fatal编程技术网

R 如何将数据子集为间隔

R 如何将数据子集为间隔,r,dataframe,R,Dataframe,我是R新手,我正在努力提高脚本的效率。我有一个data.frame的25480观察值和17变量 我的一个变量是Subject,每个Subject都有编号。但是,每个受试者的观察次数(行)并不相等。我想根据我的受试者的人数将他们分为组。我怎么做 在我使用这个公式之前: gaze <- subset(gaze, Subject != "261" & Subject != "270" & Subject != "275") 你能帮我修复这个代码吗?如果我正确理解了你的需要,你

我是
R
新手,我正在努力提高脚本的效率。我有一个
data.frame
25480
观察值和
17
变量

我的一个变量是
Subject
,每个Subject都有编号。但是,每个受试者的观察次数(
)并不相等。我想根据我的
受试者的人数将他们分为
。我怎么做

在我使用这个公式之前:

gaze <- subset(gaze, Subject != "261" & Subject != "270" & Subject != "275") 

你能帮我修复这个代码吗?

如果我正确理解了你的需要,你可以使用类似

gaze$Subject <- as.integer(as.charachter(gaze$Subject))
gaze <- subset(gaze, Subject >= 261 & Subject <= 280) 

gaze$Subject如果我正确理解了您的需求,您可以使用

gaze$Subject <- as.integer(as.charachter(gaze$Subject))
gaze <- subset(gaze, Subject >= 261 & Subject <= 280) 

gaze$Subject由于没有因子变量的排序方法(即使它们看起来是数字的),您需要先进行转换,才能进行任何排序操作,R-FAQ说明使用:

as.numeric(as.character(fac))
因此:

或:


由于没有因子变量的排序方法(即使它们看起来是数字),您需要首先转换,以使任何排序操作生效,R-FAQ说明使用:

as.numeric(as.character(fac))
因此:

或:


嗨,非常感谢你的回答。我试过了,但不幸的是,它不起作用:我得到的信息是,它与因子变量不相关:1:在Ops.factor(Subject,212):>=ceci n'est pas related pour des variables factors中,我也像以前一样尝试过使用qoutation标记,但它没有帮助。如果您还有其他想法,我将不胜感激…@EwaKarolinaP如果您的主题ID都是数字,您可以做
gaze$subject@EwaKarolinaP:显然,这些ID被读取为字符串而不是数字。我已经更新了答案,它是这样工作的吗?好的,对不起。我会尽量说得更具体一些。以下是我的一小部分数据作为示例。根据200 292 4 294 531 395.4 CP右1 200 142 364 504 202.5 97.8 CP右1 200 388 522 908 251.6 101.3 CP右1 200 162 950 1110 495.3 369.5 CP右1 200 510 1126 1634 530.4 391.2 CP右1200 184 1680 1862 290 167.4 CP抱歉,我无法正确粘贴我的表格。。。我想删除一些主题。在我使用子集函数之前:gazeHi,非常感谢您的回答。我试过了,但不幸的是,它不起作用:我得到的信息是,它与因子变量不相关:1:在Ops.factor(Subject,212):>=ceci n'est pas related pour des variables factors中,我也像以前一样尝试过使用qoutation标记,但它没有帮助。如果您还有其他想法,我将不胜感激…@EwaKarolinaP如果您的主题ID都是数字,您可以做
gaze$subject@EwaKarolinaP:显然,这些ID被读取为字符串而不是数字。我已经更新了答案,它是这样工作的吗?好的,对不起。我会尽量说得更具体一些。以下是我的一小部分数据作为示例。根据200 292 4 294 531 395.4 CP右1 200 142 364 504 202.5 97.8 CP右1 200 388 522 908 251.6 101.3 CP右1 200 162 950 1110 495.3 369.5 CP右1 200 510 1126 1634 530.4 391.2 CP右1200 184 1680 1862 290 167.4 CP抱歉,我无法正确粘贴我的表格。。。我想删除一些主题。在我使用subset函数之前:请提供一个数据的可复制示例(子集)。如果您的数据是intervl,则可以使用Cut,但我们不知道它是什么。您的术语很模糊。。当你说“行”时,你是指行吗?你说问题是观测值的数量不相等,但是你想按数量分开,你不想按观测值的数量分开吗?有一个解决方案,但您需要编辑上面的问题,以包含一个小的数据示例集,该数据示例说明了您的问题所在。请编辑您的问题并包含一份
dput(head(gaze))
。添加
str(凝视)
也可能有帮助。请提供一个可复制的数据示例(子集)。如果您的数据是intervl,则可以使用Cut,但我们不知道它是什么。您的术语很模糊。。当你说“行”时,你是指行吗?你说问题是观测值的数量不相等,但是你想按数量分开,你不想按观测值的数量分开吗?有一个解决方案,但您需要编辑上面的问题,以包含一个小的数据示例集,该数据示例说明了您的问题所在。请编辑您的问题并包含一份
dput(head(gaze))
。添加
str(凝视)
也会有所帮助。
subset(gaze, !( as.numeric(as.character(Subject)) >= 260 &
            as.numeric(as.character(Subject)) <= 280)  )
subset( gaze, !Subject %in% as.character(260:280) )