让R 把数据值读成数值型时遇到困难
我正在对三文鱼养殖中的死亡数据进行分析,以识别死亡比例超过7%的情形;然而,当我试图让R 读取死亡列中的数值时,结果总是返回NULL。理论上我使用了as.numeric函数,因此这些数值应该不会有读取问题。
以下是我使用的代码:
candata<-read.csv("Canada standardized.csv")
data_mort <- as.numeric(candata$Mortality.rate)
candatamax <-subset(candata, candata$Mortality.rate...>0.07)
然而在运行代码时,即使把阈值设得更低,例如0.001,"candatamax" 仍然是一个空对象。如果有人有修复此问题的建议,我将不胜感激。我已经使用dput() 添加了数据的一个子集,以便提供一个可复现的示例。
subset_reprducible <- structure(
list(
Site.Name = c(
"Baxter Islets",
"Dawley Pass",
"Eagle Bay",
"McCall Islets",
"Barnes Bay",
"Kunechin",
"Muchalat South",
"Newcomb",
"Noo-la",
"Salten"
),
Month = c(
"January",
"January",
"January",
"January",
"January",
"January",
"January",
"January",
"January",
"January"
),
Year = c(
2013L,
2013L,
2013L,
2013L,
2013L,
2013L,
2013L,
2013L,
2013L,
2013L
),
X = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
X.1 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
X.2 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
Site.Name.1 = c(
"Baxter Islets",
"Dawley Pass",
"Eagle Bay",
"McCall Islets",
"Barnes Bay",
"Kunechin",
"Muchalat South",
"Newcomb",
"Noo-la",
"Salten"
),
Start.Date = c(
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013",
"01-01-2013"
),
End.Date = c(
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013",
"31-01-2013"
),
Mortality.rate = c(
0.0345,
0.0192,
6e-04,
2e-04,
0.0091,
0.0016,
0.0014,
0.0131,
0.0044,
0.0024
)
),
row.names = c(NA, 10L),
class = "data.frame"
)
解决方案
在这种情况下,... 后缀是多余的。代码应如下所示:
candatamax <- subset(candata, Mortality.rate > 0.07)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。