r-故障子设置数据.frame/对因素错误没有意义



对不起,我觉得有人问我这个问题,但我在这个网站上尝试了多种解决方案,但仍然不适用。我可能遗漏了一些东西。

我有一个数据帧,有300个obs和4个变量。一个变量是天数(1-300)的"天"。我试图对这些数据进行子集处理,包括第n天之前的所有数据。我已经包含了我所有的代码,以防我做错了什么。我最初从一个较大的子集中提取了一个经过转换的子集。这是我的代码的开头

Data <- data.frame(t(Original.data[1:4,]))
colnames(Data) <-c("ID","day","Week","SD")

下一行只是创建一个重复的身份证号码

Data[,1] <- Data[1,4] 

最后,根据天设置我的数据。这是我尝试过的

New.Data <- Data[ which(Data$day<279),] 

给出'<'对因素误差没有意义

New.Data <- Data[1:Data$day<'279'] 

我也尝试过这种不加引号的方法,得到了相同的"数值表达式有328个元素:只有第一个使用"错误。结果是一个空的数据帧

谢谢你,我很抱歉,如果这是一个简单的Q,我还是R 的新手

编辑:我正在包括我的数据看起来像的样本

v    ID  day  Week  SD
V1   1   -14  -2    23
V2   2   2    1     54
.    .   .    .     .
.    .   .    .     .
V56  52  279  39    42
.    .   .    .     .
.    .   .    .     .
V300 350 325 44    48

R似乎暗示Data$day是一个因子变量,而不是数字。尝试typeof(Data$day),看看R认为它是什么。

首先使用将其转换为字符,然后再转换为数字

Data$day <- as.numeric(as.character(Data$day))

确保当天的列是一个数字向量。例如,你可以这样做:

Data$day <- as.numeric(as.character(Data$day))

然后尝试

New.Data <- Data[ which(Data$day<279),]

如果这有帮助,请告诉我!:)

相关内容

最新更新