目前我在R中有以下内容。 它只是给了我城市中的男性和女性总数。
df %>%
group_by(city) %>%
dplyr::summarize(pct.female = sum(sbq04 == "female"), pct.male = sum(sbq04 == "male"))
说我想对列sbq05
做同样的总结
所述列包含约18个不同的值("first value", "second value", ....)
。
我可以做类似于上面的事情:
df %>%
group_by(city) %>%
dplyr::summarize(pct.firstvalue = sum(sbq05 == "first value"), pct.secondvalue = sum(sbq05 == "second value"), ....)
但是,我必须明确输入所有18个值。有没有更短的方法?
我当时正在考虑将向量中所有列的不同值获取。然后循环内部汇总将总和应用于每个不同的值。 我对R很陌生,所以我不知道这在技术上是否可行,或者是否有更好的方法。
任何帮助将不胜感激。
答案 0 :(得分:0)
添加其他列作为分组变量,并获取每个组中的行数。您也可以使用import smbus
import time
# Get I2C bus
bus = smbus.SMBus(1)
# BH1715 address, 0x23(35)
# Send power on command
# 0x01(01) Power On
bus.write_byte(0x23, 0x01)
# BH1715 address, 0x23(35)
# Send continuous measurement command
# 0x10(16) Set Continuous high resolution mode, 1 lux resolution, Time = 120ms
bus.write_byte(0x23, 0x10)
time.sleep(0.5)
# BH1715 address, 0x23(35)
# Read data back, 2 bytes using General Calling
# luminance MSB, luminance LSB
data = bus.read_i2c_block_data (0x23, 2)
# Convert the data
luminance = (data[0] * 256 + data[1]) / 1.2
# Output data to screen
print "Ambient Light luminance : %.2f lux" %luminance
中的便利功能count
来更轻松地完成此操作。然后,如果每个制造商希望排成一行,则可以dplyr
列出这些值。以下是内置spread
数据集的示例:
mpg
由reprex package(v0.2.0)于2018-08-02创建。