đa dạng alpha wilcox.test

Oct 07 2020

Tôi đang cố gắng thực hiện kiểm tra Wilcox để phát hiện sự khác biệt đáng kể trong đa dạng alpha nhưng nó đang hiển thị lỗi? physeqN2 là một đối tượng phyloseq và Season là một cột siêu dữ liệu.

results = estimate_richness(physeqN2, measures = 'Chao1')

d = sample_data(physeqN2)

# calculate Wilcox Test
Wet.root = results[d[,'Season'] == 'Wet',]
Dry.root = results[d[,'Season'] == 'Dry',]
pmv <-pairwise.wilcox.test(Wet.root, Dry.root)

capture.output(pmv, file = "chao1.16s.wet_vs_Dry.root.txt")

Error;
Error in wilcox.test.default(xi, xj, paired = paired, ...) :
  'x' must be numeric
Calls: pairwise.wilcox.test ... compare.levels -> wilcox.test -> wilcox.test.def                                                                                        ault
Execution halted

Tôi đã cố gắng làm điều đó theo cách khác nhưng ở đây cũng nhận được lỗi?

alpha.diversity <- estimate_richness(physeqN2, measures=c("Chao1"))


## Wilcox on observed richness
data <- cbind(sample_data(physeqN2), alpha.diversity)
pmv <-pairwise.wilcox.test(Chao1 ~ Season, data)

capture.output(pmv, file = "chao1.16s.wet_vs_Dry.root.txt")

Error:

Error in if (length(ans) == 0L || as.character(ans[[1L]])[1L] == "~") { :
  missing value where TRUE/FALSE needed
Calls: pairwise.wilcox.test ... sapply -> lapply -> FUN -> compare.levels -> [ -> [.formula
Execution halted

Cảm ơn nhiều

Trả lời

M__ Oct 07 2020 at 18:48

Tôi nghĩ rằng đây là một lỗi trong dữ liệu đầu vào.

Tại một dự đoán hoang dã những gì tôi nghĩ đang xảy ra là dữ liệu đầu vào không được coi là được ghép nối, do đó xảy ra lỗi paired = paired. Một lỗi kỳ lạ khác là x must be numeric. Thứ nhất,

  • Làm thế nào bạn ghi được dữ liệu bị thiếu, nó không phải -do bất kỳ cơ hội nào? Dữ liệu bị thiếu phải thông qua nancú pháp loại.
  • bạn có chắc không có lỗi tiêu đề? Giống như một tiêu đề được kéo vào dữ liệu số?

Wilcoxan là thử nghiệm T không tham số, vì vậy rễ ướt và rễ khô phải khớp chính xác với cùng một mẫu. Do đó, nó không phải là rễ ướt nói chung so với rễ khô thông thường, mà là rễ ướt và khô từ cùng một mẫu vật. Nếu đây là dữ liệu bạn có, chương trình không nghĩ rằng nó khớp.

Nếu nó được ghép nối thực sự, một lần nữa, tôi nghĩ nguồn gốc của lỗi là bạn có một số giá trị bị thiếu, điều này đang khiến các cặp có độ dài không bằng nhau hoặc nếu không là lỗi tiêu đề.

Nếu dữ liệu không được ghép nối thực sự, thì tôi sẽ xem xét thử nghiệm Mann-Whitney U, trong trường hợp này sẽ dễ dàng hơn.

Tôi không sử dụng cú pháp R (chỉ là khung dữ liệu gấu trúc) nên không thể nói liệu cú pháp trong ví dụ đầu tiên có hợp lệ hay không, nhưng nó khá rõ ràng về đầu vào của bạn. Trong Python, bạn thường chỉ cung cấp cho nó toàn bộ khung dữ liệu và yêu cầu nó hoạt động.

Thực tế là có vô số chương trình thực hiện Wilcoxan, bạn không cần phải sử dụng R nếu nó là thử nghiệm một lần. Rõ ràng nếu đây là một phần của đường ống (tự động hóa) có một chút khác biệt.