我正在使用read.xlsx
setwd("C:/***//Kultivierungen//1707_ADH//")
pH <- read.xlsx("gesammelte Daten_1707.xlsx", sheetName="pH")
OD <- read.xlsx("gesammelte Daten_1707.xlsx", sheetName="OD")
Glc <- read.xlsx("gesammelte Daten_1707.xlsx", sheetName="Glucose")
Ac <- read.xlsx("gesammelte Daten_1707.xlsx", sheetName="Acetate")
我想用
删除NA
值
OD <- OD[rowSums(is.na(OD))==0,]
Glc <- Glc[rowSums(is.na(Glc))==0,]
Ac <- Ac[rowSums(is.na(Ac))==0,]
pH <- pH[rowSums(is.na(pH))==0,]
..适用于OD
和pH
数据,但不适用于Ac
和Glc
。删除NA
值之前的结果如下所示:
time.in.h SPL1 SPL1_Error SPL2 SPL2_Error SPL3 SPL3_Error
1 0.000000 <NA> <NA> <NA> <NA> <NA> <NA>
2 1.502222 <NA> <NA> <NA> <NA> <NA> <NA>
3 3.687778 0.0602636534839925 0.06 0.0502197112366604 0.09 0.0301318267419962 0.03
4 10.248889
5 16.248333 0.118460019743337 0.06 0.0829220138203356 0.12 0.106614017769003 0.18
6 21.653056 0.0644511581067472 0.03 0.0161127895266868 0.15 0.0483383685800604 0.12
7 29.653333
8 37.652778
9 43.391667 0.342347696879643 0.18 0.271025260029718 0.18 0.727488855869242 0.24
删除NA
值..:
time.in.h SPL1 SPL1_Error SPL2 SPL2_Error SPL3 SPL3_Error
3 3.687778 0.0602636534839925 0.06 0.0502197112366604 0.09 0.0301318267419962 0.03
4 10.248889
5 16.248333 0.118460019743337 0.06 0.0829220138203356 0.12 0.106614017769003 0.18
6 21.653056 0.0644511581067472 0.03 0.0161127895266868 0.15 0.0483383685800604 0.12
7 29.653333
8 37.652778
9 43.391667 0.342347696879643 0.18 0.271025260029718 0.18 0.727488855869242 0.24
str()
返回以下内容:
> str(Glc)
'data.frame': 9 obs. of 17 variables:
$ time.in.h : num 0 1.5 3.69 10.25 16.25 ...
$ SPL1 : Factor w/ 5 levels "","0.0602636534839925",..: NA NA 2 1 4 3 1 1 5
$ SPL1_Error: Factor w/ 4 levels "","0.03","0.06",..: NA NA 3 1 3 2 1 1 4
$ SPL2 : Factor w/ 5 levels "","0.0161127895266868",..: NA NA 3 1 4 2 1 1 5
$ SPL2_Error: Factor w/ 5 levels "","0.09","0.12",..: NA NA 2 1 3 4 1 1 5
之前使用一组不同的data / xlsx文件工作得很好,我试图排除xlsx文件中的所有格式问题,但是找不到任何东西....之前有人有这个吗?< / p>
答案 0 :(得分:0)
我不完全确定你的问题是什么,但这里有一些修正:
您想用零替换NA值吗?在这种情况下,您可以尝试:
Glc[is.na(Glc)] <- 0
或者您想删除NAs的观察结果?在这种情况下,它似乎正好适用于前两个观察。但是例如第四个观察似乎在xlsx文件中还有其他东西(零?)而不是NA。
答案 1 :(得分:0)
似乎葡萄糖和醋酸纤维素片中的空细胞被识别为文本,虽然我不确定为什么(Excel不是我真正的专长......)。
当我将xlsx文件中的列中的空单元格替换为0然后我再次删除这些0时read.xlsx
会将其作为numeric
向量而不是factor
导入将NA分配给空单元格。然后,您可以使用data <- data[rowSums(is.na(data))==0,]
删除包含NA的行。
无法告诉你这里到底发生了什么,但上述解决方案似乎有效。
答案 2 :(得分:0)
我遇到了同样的问题并解决了。在Excel中,而不是删除,请使用“全部清除”,然后保存您的Excel文件并将其导入R。这样R不会显示任何N / A。