ABC_1 <- ABC[rowSums(ABC) != 0, ] Error in base::rowSums(x, na.rm = na.rm, dims = dims, ...) : 'x' must be numeric
时间: 2024-04-11 22:28:48 浏览: 23
根据你提供的代码,出现了一个错误。错误信息是"'x' must be numeric",意味着在使用 `rowSums()` 函数时,输入的对象 `ABC` 不是数值型的。
`rowSums()` 函数用于计算矩阵每一行的和,要求输入的对象必须是数值型。根据错误信息,`ABC` 不符合这个要求。
要解决这个问题,你需要确保 `ABC` 是一个数值型的矩阵或数据框。你可以尝试使用 `as.numeric()` 或其他相应的函数将其转换为数值型。
以下是一个修正后的代码示例:
```R
# 将 ABC 转换为数值型
ABC <- as.matrix(ABC) # 如果 ABC 是数据框,可以使用 as.matrix() 转换
# 过滤出非零行
ABC_1 <- ABC[rowSums(ABC) != 0, ]
# 输出结果
print(ABC_1)
```
请注意,以上示例代码假设 `ABC` 是一个数值型的矩阵。如果 `ABC` 的数据类型不是数值型,请根据实际情况进行相应的转换。如果还有其他问题,请随时提问。
相关问题
ABC_subset<- unlist(lapply(ABC,is.numeric)) ABC_1<- read_csv[rowSums(ABC_subset)!=0,]
根据你提供的代码,似乎你想将ABC数据框中的数值列提取出来,并将非零行保存到ABC_1数据框中。
然而,你在使用rowSums函数时出现了错误。这个错误是因为rowSums函数需要一个矩阵或数据框作为参数,而不是一个向量。
如果你想提取ABC数据框中的数值列,并将非零行保存到ABC_1数据框中,你可以尝试以下代码:
```R
ABC_subset <- ABC[, sapply(ABC, is.numeric)]
ABC_1 <- ABC[rowSums(ABC_subset) != 0, ]
```
这里,我们使用sapply函数来检查每一列是否为数值类型,并将结果存储在ABC_subset中。然后,我们使用rowSums函数计算每一行的和,并将非零行保存到ABC_1中。
希望这能解决你的问题!如果还有其他问题,请随时提问。
getwd() ABC <- read.csv("D:/大一/科研/AB/ABC.csv",row.names=2) head(ABC) dim(ABC) ABC_subset <- ABC[, sapply(ABC, is.numeric)] ABC_1 <- ABC[rowSums(ABC_subset) != 0, ] dim(ABC_1) group <- read_csv("D:/大一/科研/AB/group.csv") group colnames(ABC_1) == group$id library(DESeq2) ABC_1 <- as.data.frame(sapply(ABC_1, as.integer)) group$id<- as.factor(group$id) group$dex<- as.factor(group$dex) dds <- DESeqDataSetFromMatrix(countData=ABC_1,colData=group,design=~dex) dds<-DESeq(dds) res<-results(dds) head(res) class(res) res_1<-data.frame(res) class(res_1) head(res_1) write.csv(res_1,file="D:/大一/科研/AB/final result.csv") Error in read.table(file = file, header = header, sep = sep, quote = quote, : 'row.names'里不能有重复的名字
根据错误信息,显示在写入CSV文件时发生了错误。错误信息是"'row.names'里不能有重复的名字"。
这意味着在创建`res_1`数据框时,其中的行名字(row.names)有重复的值。在写入CSV文件时,行名字必须是唯一的。
为了解决这个问题,你可以尝试重新设置行名字,以确保它们是唯一的。
```R
# 重新设置行名字
rownames(res_1) <- NULL
# 写入CSV文件
write.csv(res_1, file = "D:/大一/科研/AB/final result.csv")
```
通过将行名字设置为NULL,然后再写入CSV文件,这样就可以避免行名字重复的错误。
希望这个解决方案对你有帮助!如果还有其他问题,请随时提问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)