我想用R重写一个python代码(实际上是Jupyter的书)。它是关于为一些数据计算一个t-test函数,然后使用boxplot将其可视化
我是Python和R的初学者,但我做了一些尝试。这是python中的代码:
import math
import numpy as np
import pandas as pd
from myst_nb import glue
from scipy.stats import ttest_ind
from matplotlib import pyplot as plt
labels = ['non-failing heart (NF)', 'failing heart (F)']
data = [(99, 52), (96, 40), (100, 38), (105, 18),
(np.nan, 11), (np.nan, 5), (np.nan, 42),
(np.nan, 55), (np.nan, 53), (np.nan, 39),
(np.nan, 42), (np.nan, 50)]
df = pd.DataFrame.from_records(data, columns=labels)
tt = ttest_ind(df['non-failing heart (NF)'],
df['failing heart (F)'],
equal_var=False, nan_policy='omit')
pvalue = tt.pvalue
glue('pvalue', math.ceil(pvalue * 1000.0) / 1000.0)
这就是我尝试过的:
library(math)
labels(data) <- c("non-failing heart (NF)", "failing heart (F)")
library(reticulate)
np <- import("numpy", convert=FALSE)
(x <- np$arange(1, 9)$reshape(2L, 2L))
## [[ 99. 52.]
## [ 96. 40.]
## [ 100. 38.]
## [ 105. 18.]
## [ np.nan. 11.]
## [ np.nan. 5.]
## [ np.nan. 42.]
## [ np.nan. 55.]
## [ np.nan 53.]
## [ np.nan 39.]
## [ np.nan. 42.]
## [ np.nan 50.]
## [ 23. 24.]]
df = pd.DataFrame.from_records(data, columns=labels)
tt = ttest_ind(df['non-failing heart (NF)'],
df['failing heart (F)'],
equal_var=False, nan_policy='omit')
pvalue = tt.pvalue
print(pvalue)
如前所述,^{} 是R在其
stats
库中的许多内置统计方法之一。因此,只需构建相同的数据帧,然后运行测试并根据需要提取测试统计信息数据构建(一些关于复制
pd.DataFrame.from_records()
的争论)T检验
相关问题 更多 >
编程相关推荐