R에서 Python으로 작성된 Boxplot 시각화 문제

Oct 09 2020

Boxplot에서 일부 데이터를 시각화하고 싶습니다. Python으로 작성된 코드가 있지만 R로 다시 작성하고 싶습니다.

다음은 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)

이것은 내가 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)

그리고이 데이터 코드에는 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

답변

Anouar Oct 12 2020 at 12:35

R에서 코드를 다시 작성하는 데 성공했으며 솔루션을 공유하고 싶습니다.

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