Vấn đề hình dung một Boxplot được viết bằng Python trong R

Oct 09 2020

Tôi muốn hình dung một số dữ liệu trong Boxplot. Tôi có mã được viết bằng Python nhưng tôi muốn viết lại nó bằng R.

Đây là mã bằng Python:

fig, ax = plt.subplots()

d = df.to_numpy()
f = [d[m] for d, m in zip(d.T, ~np.isnan(d).T)]

ax.boxplot(f)
ax.set_ylim([0, 150])
ax.set_ylabel('IRE binding activity (%)', fontsize=14)
ax.set_xticklabels(['NF', 'F'])
ax.tick_params(axis='x', labelsize=14, labelrotation=45)
ax.tick_params(axis='y', labelsize=14)

glue('fig1', fig, display=False)

Đây là những gì tôi đã thử trong R:

na_if(d, df)
f <- [d[m] for d, m in zip(d.T, ~np.isnan(d).T)]
boxplot(f)
boxplot(NF ~ F, data = f, col = "lightgray", varwidth = TRUE, 
        main = "IRE binding activity for non-failing (NF) and failing (F) hearts.",
        ylab = "IRE binding activity (%)",xlab = "['NF', 'F']")
fivenum(f)

Và mã dữ liệu này của tôi bao gồm một hàm t-test:

labels <- list('non-failing heart (NF)', 'failing heart (F)')

data <- list(c(99, 52), c(96, 40), c(100, 38), c(105, 18), 
             c(NA_integer_, 11), c(NA_integer_, 5), c(NA_integer_, 42), 
             c(NA_integer_, 55), c(NA_integer_, 53), c(NA_integer_, 39),
             c(NA_integer_, 42), c(NA_integer_, 50))

df <- setNames(do.call(rbind.data.frame, 
                       lapply(data, function(d) data.frame(d[1], d[2]))),
              labels)    
df
                           
                           
results <- t.test(df[['non-failing heart (NF)']], df[['failing heart (F)']])

results
                           
results$statistic results$estimate
results$p.value ceiling(results$p.value * 1000.0)/ 1000.0

Trả lời

Anouar Oct 12 2020 at 12:35

Tôi đã viết lại thành công mã trong R và tôi muốn chia sẻ giải pháp với bạn:

boxplot(df[1:2],
        data=df,
        main="box plot",
        ylab="Degree Fahrenheit",
        col="orange",
        border="brown",
        ylim = c(0, 120)
)