Tag: 转置

转置一个数据框,同时保存类/数据types信息

TL;博士 如何以一种保存类/数据types信息的方式,将不同类别的列向量(一列是character ,下一个是numeric ,另一个是logical等)的数据框转置? 示例数据: mydata <- data.frame( col0 = c("row1", "row2", "row3"), col1 = c(1, 2, 3), col2 = letters[1:3], col3 = c(TRUE, FALSE, TRUE) ) 这里还有一个xlsx文件,它提供了两种数据方向的示例: https : //github.com/rappster/stackoverflow/blob/master/excel/row-and-column-based-data.xlsx 问题 一个简单的t()或者一些比较像这个post中提到的例程是很棒的,但是不保存类信息或者原始数据框的列。 我也知道,类data.frame从来没有把混合类信息存储在其列中。 然而,至less我希望尽可能接近简单地“颠倒” data.frame的意图是:将视angular集中在行而不是列视angular上。 也就是说,行向量中的所有元素都需要属于同一个类,而类向量之间可能有所不同。 上下文 我经常在人们用来表示水平时间序列数据的项目中工作,而不是垂直 (“variables在列”方向)我们都习惯于在R(其中,恕我直言,也更有意义)。 更重要的是,他们正在广泛使用MS Excel。 我需要同时以“宽格式”读取数据,并且通过直接从R到XLConnect和/或openxlsx编写公式来更新现有的Excel文件(与在R中进行计算相反,将最终结果转储到Excel文件中)。 虽然我不断尝试告诉他们,使用这样一个方向意味着跨语言/工具(至less对于R和MS Excel)正确的标准工作,他们不太可能会转换。 所以我必须以某种方式处理。 目前的做法 所以我尽pipe关于保留一个底层的list但尽可能data.frame像数据data.frame一样“看起来和感觉”。 它的工作,但很相关。 我认为可能有一些更聪明的解决scheme。 函数def: transpose <- function ( […]

Excel VBA:将列转置到一行

我需要将我的列转置为一行。 我有一个代码,我发现的作品,但它并没有做到我想要的。 这是我的文件在运行代码之前的样子: 这是我运行代码后我的文件看起来像: 我希望我的结果显示在列顶部的单元格所在的行上。 在这种情况下,我希望列在第5行上转置,而不是像第二张图片中所示跳到第1行。 这是我的代码: Private Sub CommandButton1_Click() Dim rng As Range Dim I As Long Set rng = Range("B5") While rng.Value <> "" I = I + 1 rng.Resize(60).Copy Range("C" & I).PasteSpecial Transpose:=True Set rng = rng.Offset(60) Wend rng.EntireColumn.Delete End Sub

VBA:将设置范围数据从一个工作簿转置到另一个工作簿

我的项目涉及到从一个文件夹中的文件复制数据到一个excel。 该文件夹中的文件有行中的数据,我需要将数据转置到一个Excel(数据库Excel)。 我发现了一些非常接近我需要的代码,我正试图修改那些代码来为我工作。 它看起来像我只需要修改在下面的代码的目标,但我无法得到任何调整工作。 完整的代码可以在这里find: http : //www.rondebruin.nl/win/s3/win008.htm 我错过了什么将数据从行转移到列? If Not sourceRange Is Nothing Then SourceCcount = sourceRange.Columns.Count If Cnum + SourceCcount >= BaseWks.Columns.Count Then MsgBox "Sorry there are not enough columns in the sheet" BaseWks.Columns.AutoFit mybook.Close savechanges:=False GoTo ExitTheSub Else 'Copy the file name in the first row With sourceRange BaseWks.Cells(1, Cnum). _ Resize(, […]

VBA – 添加重复表单并将输出转换为行

我有以下数据集,其中包含重复项。 values: 2880CR-20.36KX53305DECOAK2015 F05572-CN48517OCTOAK2016 F05572-CN48517DECOAK2016 F05572-CN48517NOVOAK2015 F05572-CN48517NOVOAK2015(duplicate) F05572-CN48517DECOAK2015 F05573-CN48517JANOAK2016 F05573-CN48517FEBOAK2016 F05573-CN48517JANOAK2015 F05573-CN48517FEBOAK2015 F05573-CN48517MAROAK2015 F05573-CN48517APROAK2015 F05573-CN48517APROAK2015(duplicate) 我正在尝试创build一个macros,它将查看A2:A(列中的行数)列A中的值,并返回声明为“strMyDupList”的string中包含的重复值列表。 基本上,如果有至less1个重复,msgbox会popup,并与列的地址和值创build新的工作表,我试图列出所有的价值分隔我的逗号VERTICALLY,而不是水平横跨工作表。 如此: Address value $A$5 F05572-CN48517NOVOAK2015 $A$13 F05573-CN48517APROAK2015 我的代码是: If strMyDupList <> "" Then MsgBox "The following entries have been used more than once:" & vbNewLine & strMyDupList Worksheets.Add.name = name Worksheets(name).Range("A1").Value = "Location" Worksheets(name).Range("B1").Value = "Value" ' Worksheets(name).Range("A2:C2").Value […]

VBA – 尝试转置行值时运行时错误“13”

我试图比较不同工作表中的两列来检查A列中的值是否存在于B列中。 当我尝试转置行值并将其存储到字典进行比较时,会触发运行时错误“13”。 这里是代码: Sub Compare() Dim rngA As Range, rngB As Range Dim dict As Object, rw As Range Dim a As Application, tmp As String Dim Row1Last As Long Dim Row2Last As Long Set a = Application Set dict = CreateObject("scripting.dictionary") Set sht1 = Worksheets("list_Facility_BOS") Set sht2 = Worksheets("List_Facility_PG") With Sheets("list_Facility_BOS") Row1Last = .Cells(Rows.Count, […]

如何使用macros将数据从行转换为列

我对VBA是全新的(除了手动录制和运行),所以希望有人能帮我devise这个。 我有一个工作表,每个唯一的ID(列A)未指定的行数,基于date和types。 : ABCD 1 12Jan2010 type A Person1 1 16Jan2010 type B Person1 2 06Dec2009 type A Person2 3 16Dec2009 type A Person1 5 20Dec2009 type A Person2 5 02Jan2010 type B Person2 4 10Dec2009 type A Person2 基于唯一ID,我想将这些数据转换为每行唯一ID为1行,然后将所有的date值按照时间顺序放在整行上,所以它看起来像这样: ABCD 1 Person1 12Jan2010(A) 16Jan2010(B) 2 Person2 06Dec2009(A) 3 Person1 16Dec2009(A) 4 Person2 10Dec2009(A) 5 […]

使用空格将行转换为列

我有一个电子表格,其中一列和值如下: A B C * D E * F G H I *表示空单元格。 无论如何,我可以把它看作是以下每个人在不同的单元格? 1 2 3 DE FGHI 我得到这个=IF(ISBLANK(A12),TRANSPOSE(A13:A23),"") ,这有助于范围设置为10.如何设置它,以便在A13之后查找下一个空单元格并回溯一个单元格? 谢谢, JJ

VBAselect当前select中的单元格

我logging了以下内容,将一组垂直的单元格移动到从原始范围的起点向右移两个单元格的范围。 Sub Macro4() ' ' Macro4 Macro ' ' Keyboard Shortcut: Option+Cmd+u ' Range("A105:A115").Select Selection.Copy Range("C105").Select Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _ , Transpose:=True ActiveWindow.SmallScroll Down:=6 Range("A116").Select End Sub 现在,我想运行macros来执行这个操作相对于其他手动加亮的单元格。 我如何编辑代码来做到这一点? 谢谢。

将逗号分隔到列中

Soo发现了很多类似的问题,但没有什么真正适合我想要做的事情,而且有点卡住了。 基本上我想要做的是有一个单元格(在这种情况下,A1),有多个值用逗号分隔(总是4个值),然后把它拆分成沿着列的单独的行。 例 A1[10,9,8,6] 需要成为 a10[10], b10[9], c10[8], d10[6] 我正在使用的当前代码是: Dim X As Variant X = Split(Range("A1").Value, ",") Range("a10").Resize(UBound(X) – LBound(X) + 1).Value = Application.Transpose(X) 这将输出垂直向下的数据列,当我需要它输出,如上所示

Excel转置 – 基于单元格值

我一直在试图找出一种方法来转置excel中只有某些列成行,以达到我的结果。 由于我需要的输出是文本值,我一直无法使用数据透视表我的目的。 这是附加的图像,显​​示了我有什么,我需要什么。 任何有识之士将不胜感激!