Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t将NumPy数组导出到R数据集_Python_R_Numpy_Rpy2_Scikit Image - Fatal编程技术网

Python Can';t将NumPy数组导出到R数据集

Python Can';t将NumPy数组导出到R数据集,python,r,numpy,rpy2,scikit-image,Python,R,Numpy,Rpy2,Scikit Image,我在尝试将NumPy数组转换为R数据集时遇到了一些困难。我有一张灰度为2362x2163的2D图像。我必须输入每个像素的灰度值来做一些统计分析。首先,这是我为流程导入的内容: 导入cv2 将numpy作为np导入 从skimage导入img\u as\u ubyte 从浏览导入数据 从rpy2.robjects导入r 从rpy2.robject导入pandas2ri 从导入数据帧 pandas2ri.activate() 首先,我使用cv2作为NumPy数组导入图像,以防万一,我将数组转换为0

我在尝试将NumPy数组转换为R数据集时遇到了一些困难。我有一张灰度为2362x2163的2D图像。我必须输入每个像素的灰度值来做一些统计分析。首先,这是我为流程导入的内容:

导入cv2
将numpy作为np导入
从skimage导入img\u as\u ubyte
从浏览导入数据
从rpy2.robjects导入r
从rpy2.robject导入pandas2ri
从导入数据帧
pandas2ri.activate()
首先,我使用cv2作为NumPy数组导入图像,以防万一,我将数组转换为0到255(256灰度)之间的值

xchest=cv2.imread(“/home/user/xchest.tif”,cv2.imread\u灰度)
xchestsk=img\u as\u ubyte(xchest)
输出:

type(xchestsk)
是:

我需要一个简单的数据集上的所有像素信息,我可以在RStudio上使用和分析。我试过:

np.save("/home/user/xchest.npy", xchestsk)
xchest\u R=数据帧(xchestsk)
xchest_R=R.data('xchestsk')
r、 分配(“测试”,最大值)
r(“save(test,file='/home/user/xchest.gzip',compress=TRUE)”)
但当我把它加载到R上时:

> load("/home/user/xchest.gzip")
我刚刚得到一个值:
test>“xchestsk”
就像我刚导入了一个字符串

我试过:

np.save("/home/user/xchest.npy", xchestsk)
但当我尝试在R上导入时,使用:

> library(RcppCNPy)
> xchest_R <- npyLoad("/home/user/xchest.npy", "integer")
但当我将其导入R时:

> xchest_data = read.csv(file="/home/eera5607/xchest.csv", header=FALSE, sep=",")
我不能做简单的统计分析,比如:

> mean(xchest_data)
因为我得到这个警告:

> argument is not numeric or logical: returning NA
我尝试将数据转换为一个变量和5000000+个点,使用:

xchest_list=xchestsk.tolist()
xchest_ov=[]
对于xchest_列表中的列表:
xchest_ov+=列表
然后我将
xchest_ov
列表转换为CSV,但在RStudio中得到了相同的警告


我需要的是导入所有这些值,如果可能的话,保持矩阵结构(但这不是必需的,至少导入像素值作为常规R数据集),我可以对其应用一些统计分析。我知道我可以直接在Python上进行一些分析,但我希望这些数据可以在RStudio上进行。我对这方面的知识很少。我是一名放射科医生,这是我第一次与R合作。

不熟悉
RcppCNPy
,但csv方法应该可以工作。当您调用
str(xchest_data)
时,该方法会发生什么?我不希望
mean
直接在数据帧上工作,因为R
mean
没有数据帧或矩阵的方法,它大多只接受向量输入。你仍然可以做其他的统计分析,但如果你有具体的问题,可以问那里。为了澄清,R中的data.frames类似于pandas DataFrames,矩阵和数组更类似于NumPy数组。@CalumYou谢谢,
str(xchest_data)
的输出是:
'data.frame':2163 obs。2362个变量中:$V1:num 8 8 8 13 23 36 38 34…$V2:num 8 8 10 8 15 20 23 36 34…$V3:num 8 8 11 8 15 21 24 36 35…$V4:num 8 8 11 8 17 21 27 37 35…$V5:num 8 8 11 8 16 21 26 40 39…$V6:num 8 8 12 8 14 20 26 39 35…$V7:num 8 8 12 8 17 18 31 41 42…$V8:num 8 8 12 8 17 23 32 40 39…$V9:num 8 8 12 8 14 23 29 39…$V10:num 8 8 8 12 8 16 23 25 37 36…
并一直持续到被截断。确定后,看起来数据已成功读取到数据帧中。还有问题吗?@CalumYou是的,如果我有2362个变量(图像高度),我如何处理所有数据点作为一个整体?我希望有一组干净的数据点,我甚至可以应用简单的统计分析。例如,可以执行
x=xchest\u data$V99
和do
mean(x)
,但在这一点上,我不需要这样做,因为这只是图像的一行。有没有办法执行类似
x=xchest\u data$V1-V99
的操作作为示例?
> mean(xchest_data)
> argument is not numeric or logical: returning NA