【问题标题】:Separating or grouping Values of a column into different categories in R在R中将列的值分隔或分组为不同的类别
【发布时间】:2021-04-21 13:03:02
【问题描述】:

大家早上好。 请我确实有一个问题我已经有一段时间无法解决了。(请查看图片链接以查看我的数据集的屏幕截图) @ 987654321@

我有一列数据(状态),其中包含两组值(1 和 2)。 这些是代表两个类别(或状态)的因变量(例如 Pp 和 Pt),我需要进行回归。 它们的实际值包含在最后一列 Pp.Pt (Pp. Pt 只是一个名字而已).

我需要运行两个单独的回归,每个回归使用 Pp 或 Pt(意味着使用 Pp.Pt 列中的各自值 (最后一列中的每个值都是状态 1 或状态 2 ) . **我的问题是如何将它们分开或分组到这两个类别 1 = Pp 和 2 = Pt 以便我可以清楚地识别和分组它们。

https://i.stack.imgur.com/g2eTM.jpg

非常感谢您的热心帮助。 最好的 卢多维奇

【问题讨论】:

  • 请使用dput(head(df, 30)),其中df 是您的data.frame 的名称,然后将控制台的输出复制并粘贴到您的问题中。
  • 您好,谢谢,您看不到我上传的屏幕截图吗?
  • 您好,请看一下我的数据集的屏幕截图,以便更好地理解i.stack.imgur.com/g2eTM.jpg
  • 我们不需要您的数据图片,而是需要使用数字作为样本数据,因此请按照@hello_friend 的要求进行操作。

标签: r regression economics


【解决方案1】:

Split-Apply-Combine 方法:

# Using the mtcars dataset as an example: 
df <- mtcars

# Allocate some memory for a list storing the split data.frame: 
# df_list => empty list with the number of elements of the unique
# values of the cyl vector
df_list <- vector("list", length(unique(df$cyl)))

# Split the data.frame by the cyl vector: 
df_list <- split(df, df$cyl)

# Apply the regression model, return the summary data: 
lapply(df_list, function(x){
  summary(lm(mpg ~ hp, data = x))
  }
)

【讨论】:

  • 谢谢,非常感谢
  • @ThinkingEconomist 不用担心,您会发现这种计算模式非常有用。与 stackoverflow 礼仪一样,如果您发现我的回答有用/回答了您的原始问题(如已发布),请投票并接受。
  • 你好,请看一下我的数据集的截图,你会更能理解i.stack.imgur.com/g2eTM.jpg
  • @ThinkingEconomist 使用dput(),正如我所描述的那样——这是标准堆栈溢出实践。
【解决方案2】:

这种方法可以解决您的问题

yourdata %>%
mutate(classofyourcolumn=ifelse(columntosplit<quantile(columntosplit,0.5),1,0))  

【讨论】:

  • 非常感谢非常感谢
  • 欢迎,如果解决了您的问题,请签收
  • 请同样我已经编辑了我的问题并添加了我的数据集的屏幕截图,如果可以的话,请你看看。你会更能理解我的问题
  • 你好,其实我说“分裂”不是很清楚。我假设您的意思是“离散化”。我编辑了我的代码以将您的 pp.pt 列从分位数 0.5 离散化
  • 您希望它们在点之前和点之后一样,对吗?如果是这样,我会更新我的答案。我问你在拆分 pp.pt 列时的标准是什么
猜你喜欢
  • 2021-07-15
  • 2020-05-29
  • 2023-04-09
  • 2017-06-22
  • 2014-11-18
  • 2021-03-08
  • 2022-01-17
  • 2017-01-19
  • 1970-01-01
相关资源
最近更新 更多