用文本数据转置R数据帧

用文本数据转置R数据帧,r,R,我对R越来越熟悉,并学习了长数据帧和宽数据帧。我越来越擅长使用dcast(和ddply),但据我所知,它们依赖于我的数字数据。在以下示例中,我有: data.frame(color=c("red","orange","blue","white"),safe=c("N","N","Y","Y")) 基本上,旧的假设是保险公司惩罚汽车的“危险颜色”是不安全的。我想要一个命令把这个变成一张宽桌子。我缺少的dcast是否有一种风格或语法可以将上表转换为 red | orange | blue | wh

我对R越来越熟悉,并学习了长数据帧和宽数据帧。我越来越擅长使用dcast(和ddply),但据我所知,它们依赖于我的数字数据。在以下示例中,我有:

data.frame(color=c("red","orange","blue","white"),safe=c("N","N","Y","Y"))
基本上,旧的假设是保险公司惩罚汽车的“危险颜色”是不安全的。我想要一个命令把这个变成一张宽桌子。我缺少的dcast是否有一种风格或语法可以将上表转换为

red | orange | blue | white
 N  |   N    |  Y   |   Y

谢谢您的帮助。

也许是
转置功能

a <- data.frame(color=c("red","orange","blue","white"),safe=c("N","N","Y","Y"))
# transpose and make it a dataframe.
new_a <- data.frame(t(a), stringsAsFactors=FALSE)
# makes the column names the first row of the new dataframe
names(new_a) <- new_a[1,]
# now you can get rid of the first row.
new_a <- new_a[-1,]
> new_a
     red orange blue white
safe   N      N    Y     Y

a可能是
转置
功能

a <- data.frame(color=c("red","orange","blue","white"),safe=c("N","N","Y","Y"))
# transpose and make it a dataframe.
new_a <- data.frame(t(a), stringsAsFactors=FALSE)
# makes the column names the first row of the new dataframe
names(new_a) <- new_a[1,]
# now you can get rid of the first row.
new_a <- new_a[-1,]
> new_a
     red orange blue white
safe   N      N    Y     Y

a可能是dis
restrape2::dcast(df,.~color,value.var=“safe”)[-1]
?或者
rownames(df)可能是dis
restrape2::dcast(df,.~color,value.var=“safe”)[-1]
?或者
rownames(df)我在谷歌搜索时怎么没有遇到这个命令?但是我如何让列名出现而不是[,1][,2][,3]和[,4],或者作为V1,V2,V3,V4出现在视图中(a)?Cory,谢谢,这演示了我需要学习的R的更多特性,我将不得不考虑方括号符号来完全内部化它。谢谢,我已经把你的答案标记为解决方案。事实证明,我打算把我发现的东西贴出来
dcast(a,1~color,value.var=“safe”)
问题是第一列是一次性的,我想不出解决方法。是的,这是一个“基本”R解决方案。使用plyr或类似软件包的解决方案看起来会有所不同。我怎么会在谷歌搜索中没有遇到这个命令呢?但是我如何让列名出现而不是[,1][,2][,3]和[,4],或者作为V1,V2,V3,V4出现在视图中(a)?Cory,谢谢,这演示了我需要学习的R的更多特性,我将不得不考虑方括号符号来完全内部化它。谢谢,我已经把你的答案标记为解决方案。事实证明,我打算把我发现的东西贴出来
dcast(a,1~color,value.var=“safe”)
问题是第一列是一次性的,我想不出解决方法。是的,这是一个“基本”R解决方案。使用plyr或类似软件包的解决方案看起来会有所不同。