【问题标题】:Subset dataframe row returned as list? [duplicate]子集数据框行作为列表返回? [复制]
【发布时间】:2018-03-22 15:30:27
【问题描述】:

我想从数据框的一行中创建一个字符串向量。没有它的行名和列名。这是我的数据框。

agreement = c("Strongly Disagree"," Disagree", "Neither", "Agree", "Strongly Agree")
likelihood = c("Very unlikely","Unlikely", "Neither", "Likely", "Very Likely")
df <- as.data.frame(rbind(agreement, likelihood))

获得数据框后,如何返回没有列值的字符向量?例如

> "Strongly Disagree"," Disagree", "Neither", "Agree", "Strongly Agree"

我尝试使用as.character,但得到的回报是数值。

as.character(df[1,1:5])
> "1" "1" "1" "1" "1"

我也尝试使用as.vector,但它返回给我一个包含列名的列表。

as.vector(df[1,1:5])
>                        V1        V2      V3    V4             V5
agreement Strongly Disagree  Disagree Neither Agree Strongly Agree

任何帮助将不胜感激!

【问题讨论】:

  • 或者您也可以:as.vector(t(df[1, ]))
  • 也许是sapply(df[1, ],unlist)。返回多行的矩阵。

标签: r dataframe vector


【解决方案1】:

创建数据框时需要将stringsAsFactors设置为FALSE

df <- as.data.frame(rbind(agreement, likelihood), stringsAsFactors = FALSE)

as.character(df[1,1:5]) 现在结果

"Strongly Disagree" " Disagree" "Neither" "Agree" "Strongly Agree" 

检索所有行或列时,您可以简单地将字段留空,例如(df[1,] 返回包含所有列的第一行)

【讨论】:

  • 感谢您的及时回复!包括stringsAsFactors = FALSE 返回与上面的as.vector 命令相同,包括列名,如果没有列名,我如何返回它?
  • 要将结果检索为向量(在本例中为字符向量),您可以将其分配给新值。使用firstrow &lt;- as.character(df[1,]) 会得到想要的结果。 (firstrow 现在和协议一样)
【解决方案2】:

除了@YusufSyakur 对as.character 部分的回答之外,您应该知道具有多个列的data.frame 的子集始终是data.frame 本身。即使只有一排。而 data.frame 只是一个顶部有额外糖的列表,因此as.vector 删除了该糖并离开了列表。

【讨论】:

  • 更多的是评论而不是答案。
  • 他问了两个问题,真的是:“为什么我用as.character 得到数字?”和“为什么我会得到一个带有as.vector 的列表?”
【解决方案3】:

请记住,您可以使用小标题而不是数据框 (https://cran.r-project.org/web/packages/tibble/vignettes/tibble.html)

默认情况下,带有 tibble 的字符串不会转换为因子。因此,在您的情况下,您可以使用:

df <- as.tibble(rbind(agreement, likelihood))

    > as.character(df[1,1:5])
[1] "Strongly Disagree" " Disagree"         "Neither"           "Agree"             "Strongly Agree"  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2021-12-16
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2017-04-03
    相关资源
    最近更新 更多