假设我有一个10x10的数据帧,我想在开头添加一行,只包含一个值(即新行只有一列)。此外,我希望此行位于列名之上,因此我需要将列名转换为数据框中的实际条目。如果不添加NAs,我将如何执行此操作?
下面是我所拥有的一个示例(nrow=3,列标题和nol=5的数据帧):
Name Description Sample1 Sample2 Sample3
2345 gene 1.123 1.532 2.464
3253 gene 2.313 1.531 1.424
2453 gene 1.164 1.597 1.943
这就是我想要的(一个数据帧/某种对象,nrow=5,nol=5,但第一行为NULL值):
#1.2
Name Description Sample1 Sample2 Sample3
2345 gene 1.123 1.532 2.464
3253 gene 2.313 1.531 1.424
2453 gene 1.164 1.597 1.943
感谢您的帮助。
基于我的意见,我将尝试以下方法作为一种可能的方法:
首先,一些样本数据:
set.seed(1)
A <- data.frame(matrix(rnorm(10), ncol = 5))
B <- data.frame(matrix(rnorm(10), ncol = 5))
C <- data.frame(matrix(rnorm(10), ncol = 5))
首先,按照建议,将data.frame
放在列表
中。将list
元素的名称设置为您希望打印在data.frame
上面的内容。在这里,我只是使用了与原始data.frame
相同的名称:
myList <- list(A = A, B = B, C = C)
其次,创建一个自定义的print
函数,该函数具有cat
行和print。数据使用所需的任何附加设置(如
。row.names=FALSE
)框显
print.myList <- function(x, ...) {
invisible(lapply(names(x), function(y) {
cat("#:", y, "\n")
print.data.frame(x[[y]], row.names = FALSE)
cat("\n")
}))
}
出于演示目的,我将写入一个tempfile()
,但实际上您将把它写入计算机上某个地方的文本文件中。
temp <- tempfile()
实际的写入由capture.output
完成:
capture.output(print.myList(myList), file = temp)
以下是我们的“临时”文件现在的样子:
readLines(temp)
# [1] "#: A "
# [2] " X1 X2 X3 X4 X5"
# [3] " -0.6264538 -0.8356286 0.3295078 0.4874291 0.5757814"
# [4] " 0.1836433 1.5952808 -0.8204684 0.7383247 -0.3053884"
# [5] ""
# [6] "#: B "
# [7] " X1 X2 X3 X4 X5"
# [8] " 1.5117812 -0.6212406 1.12493092 -0.01619026 0.8212212"
# [9] " 0.3898432 -2.2146999 -0.04493361 0.94383621 0.5939013"
# [10] ""
# [11] "#: C "
# [12] " X1 X2 X3 X4 X5"
# [13] " 0.9189774 0.07456498 0.61982575 -0.1557955 -0.4781501"
# [14] " 0.7821363 -1.98935170 -0.05612874 -1.4707524 0.4179416"
注意:当然,如果您在文本编辑器中打开结果文件,您将看不到此处显示的[1]
数字。
问题内容: 我试图基于一个的数据创建“ n” 。我正在检查in的Integer值,并循环执行sql语句以创建与列中一样多的“ n” 。 这是我的代码: 我需要创建“ n”,但我不知道如何在循环之前声明类型并在for内填充。 现有数据类型: 新的数据类型: 问题答案: 您可以创建一个可变列表并填充它: 但是更好的方法(不使用可变数据结构)是将整数列表 映射 到DataFrames列表中:
我有一个来自excel电子表格的数据框,其中我找到了每个域出现的频率。我想添加域频率计数到它的相应域。 下面是查找频率并尝试将其添加到相应域的代码。 当我从数据帧打印出频率时:
我有一个如下的数据帧: 我想将其转换为如下内容: B中重复的值是列名称,其值在C列中。我希望它们是数据帧的列 事实上,数据集是通过展平一棵树创建的,其中有更多的列,每个列都是一个内部节点。第一列是根,C是叶 以下是我的一些尝试: 然而,它不起作用。
很容易将列表列表转换为数据帧: 但是我如何将df转换回列表列表呢?
向pandas对象添加空列的最简单方法是什么?我偶然发现的最好的东西是 有没有一种不那么反常的方法?
假设我有一个数据框 和列名称列表 如何将新列添加到以零为值的数据帧中?